0.9.18+patch.6
2025-08-27
-
add CreateBooleanSplit tool
- create a Split boolean from exiting Difference boolean cutter
- this is useful compared to directly creating a Split in the HyperCut or Boolean tools, because it allows you to work on the difference first, including adding additional booleans (or any other mod) to the operand object, and only then create the split from it, reflecting these changes on both split parts equally
- add a dedicated Split Boolean object-button-gizmo at the bottom right
- also expose it in the Remote Boolean section in the Object and Modifiers panel and the sidebar
- automatically invokes RemoveUnusedBoolean tool at the end
- because Split booleans tend to create these, and removing any unused booleans should be a user-choice due to potential false-positives
- create a Split boolean from exiting Difference boolean cutter
-
add FaceBevel tool
- a wrapper around EdgeBevel, that prepares the edge selection based on the gizmo's face
- supports the same
ALT
andCTRL
mod keys for repeating the previous bevel and/or forcing a mesh- instead of a mod-bevel
-
add SortInsets tool
- sort insets, as well as their subsets and potential hook handle objects in to _Insets collection
- optionally add instead of move insets to the collection
- exposed in the sidebar only for now
-
add SelectXray tool
- in edit mesh mode with the HyperCursor tool active, dragging out a selection will now automatically toggle xray when dragging to the left vs no xray when dragging to the right
- can be done for Circle select via
C
too, but keymap is disabled by default, as it's not super-intuitive due to Circle selection being direction based
-
add MakeGizmoModActive tool and related gizmo at top right
- make Hyper Hook mod active if it isn't, thereby showing the geo node gizmo
- also enable 3D view's show_gizmo_modifier setting if disabled
- for Hooks or Hyper Hooks using a hook handle object to control it, make that object visible and select it, if it isn't
-
Example Assets - Insets.blend
- introduce Hyper Hooks, and replace all Hook modifiers with them
- they move both ends at the same time in opposite directions
- they can optionally and by default use a Geo Node Gizmo, instead of a Hook Handle object
- but Hook Handle Objects are still used for assembly insets (multiple objects), where the Hyper Hook mod is used by multiple objects
- add Hyper Hook to a few more insets like 'Simple' and 'Subset'
- add new 'AlignmentFastener' inset
- simplify geometry of a few insets by using Edge Weights instead of VGroups, breaking them in 4.2
- introduce Hyper Hooks, and replace all Hook modifiers with them
-
AddObjectAtCursor tool
- sort insets into new _Insets collection
- can be disabled in the addon preferences
- avoid adding Cube or Cylinder objects to _Insets collection, if user has made it active in the outliner
- deduplicate Hyper Hook node groups, when adding an inset using them
- fix exception in local view, when adding LOCAL assembly-asset (adding an asset while in the asset's file)
- sort insets into new _Insets collection
-
TransformCursor tool
- support moving edit mesh selections (also via
Q
orS
) - support proper undo after passing through to Blender-native cursor-space Translate or Rotate via
ALT
- support moving edit mesh selections (also via
-
HyperCut tool
- create smooth shaded operand object if active object is smooth shaded
- when applying boolean
- support linked/instanced meshes, replicating the cut on each instance accordingly instead of creating a unique new mesh
- compensate cutter depth and width host object has negative displace mod
- since applying a boolean in essence places the mod before the Displace mod, the cutter dimensions would otherwise no longer be sufficient
- prevent issues on 2d meshes with one (or more) dimensions of 0
-
HyperBevel tool
- fix rare exception when encountering degenerate geometry
-
PickHyperBevel tool, EditHyperbevel tool and manage_mode_history handler
- perform HyperBevel geometry validation
- it's possible for the user to create invalid HyperBevel geometry
- so always validate, and if necessary disable HyperBevels, turning them into regular booleans
- perform HyperBevel geometry validation
-
PickHyperBevel tool
- scale gizmos down, when their dimensions are less than 1/10th of the host object's dimensions
- this avoids dis-proportionately thick Hyper Bevel gizmos on tiny HyperBevels, such as those around insets for example
- scale gizmos down, when their dimensions are less than 1/10th of the host object's dimensions
-
Boolean tool
- avoid re-parenting operand objects, that are parented already, unless deliberately enabled via
A
orP
- the HUD and statusbar will let you know if this option is available
- avoid removing operand object when mesh-cutting, when that same operand is used by some other mod already
- avoid re-parenting operand objects, that are parented already, unless deliberately enabled via
-
PickObjectTree tool
- show invalidated HyperBevels as regular Booleans
-
RemoveUnusedBoolean
- refine removal logic, in particular for children of objects marked for removal, that themselves are (secondary) boolean operands too
- prevent exception when active object is a wire object
-
HyperMod
- prevent
TAB
bing into EditHyperBevel tool or extending viaALT + E
for invalidated HyperBevels - show a little icon if mod is a gizmo mod (only Hyper Hook for now), similar to profile bevel mods
- prevent
-
PushFace tool
- support disabling Self- and Wire-Object-Snapping using
S
andW
keys, while the tool is running and snapping is active viaCTRL
- fix parallel edge center snapping not working when target object is scaled
- support disabling Self- and Wire-Object-Snapping using
-
ExtrudeFace tool
- re-calculate normals after extruding, useful when negatively extruding manifold geo like single-face-objects (like Lazy Splits)
-
DuplicateObjectTree tool
- support multi-object selections
- NOTE: the button in the Object and Modifiers panel still only acts on the active object
- while the button in the sidebar acts on the entire selection of objects
- also there's a dedicated Duplicate button-gizmo for multi-object selections now
- support multi-object selections
-
HideWireObjects tool
- optionally but by default only affect wire-mod-objects for collection sorting, not all wire objects now
- expose name of _Wires collection to addon prefs
-
AdjustArray tool
- fix HUD stepping issue for instanced arrays
-
ApplyAll (Modifiers) tool
- force geo gizmo update
- prevent exception when applying (Hyper) Source mods (currently only used by Gap booleans)
-
Object and Modifiers panel
- add Renderability toggle
- toggle object from Texture-shaded-and-rendered to Wire-shaded-and-omitted or back
- expose Hook and Hyper Hook mods in their own section
- expose Offset value for gizmo controlled mods, and allow selecting the Hook Handle Object for object-controlled hooks
- support cycling through Manifold solver for local and remote booleans
- for remote booleans support SHIFT mod key (to affect all) when enabling/disabling and cycling solver
- add Renderability toggle
-
Tool Header
- add cursor history controls
- with the history shown, allow clearing all of it all using
SHIFT
mod key while clicking Remove button-gizmo of any of the entries
- with the history shown, allow clearing all of it all using
- add buttons for quick access to addon preferences and to toggle Tool Header display preferences, and support collapsing these buttons too
- with hints enabled, add warning if all gizmos are hidden + Enable button
- with hints enabled while the active object has a mod with gizmos, add warning if modifier gizmos are disabled + Enable button
- NOTE: right now only Hyper Hooks are recognized
- add cursor history controls
-
sidebar
- support enabling or disabling any of the Object/Objects button gizmos
- Object History
- shorten displayed asset/inset name/path
- fix issue with inset selection/cycling
-
addon prefs
- with MACHIN3tools installed and the Tools pie active, simplify setup for HyperCursor to allow for easy switching between Select Box (for instance) and HyperCursor
-
Cursor History
- increase draw size for cursor history entry labels and increase button gizmo spacing
-
uniformly name Split Boolean mods and operand objects 'Split (Difference)' and 'Split (Intersect)', no matter whether they are created through AddObjectAtCursor, HyperCut, Boolean or CreateSplitBoolean tools
- fix some issues with Reflect gizmo (MESHmachine Symmetrize and/or MACHIN3tools Mirror)
- replace PRESET icons and introduce custom history and sort icons to maintain pre-4.5 look
- some internal modernizations and generalizations
- prevent exception on addon registration in latest Blender 5.0 alphas
0.9.18+patch.5
2025-07-03
-
Boolean tool
- support MeshCut operation
- NOTE: mesh cuts work on the original mesh, so are best suited for objects with no or minimal mod stacks
- fix previously adjusted gap strength being re-initialized when switching away from GAP boolean and back to it again
- support MeshCut operation
-
AddObject tool
- support MeshCut operation
- when meshcutting an inset that has children, re-parenting the children to the boolean host, as the operand object will be removed in the process of the mesh cut
- generalize and simplify boolean setup, toggling in and out of it, changing the method, etc.
- for SPLIT and MESHCUT booleans force select the boolean host for better intersection preview
- generalize how asset meta data is stored internally
- add fallbacks for manifold insets set up in 4.5, but brought into 4.4 and earlier
- support MeshCut operation
-
CreateAsset tool
- for SPLIT boolean insets, support new
ignore_secondary_boolean
property- see new 3 split insets examples for the difference in behavior
- support inset creation with MeshCut as the operation
- rework setup panel a bit and how the various props interact and depend on each other
- introduce
inset_version
prop to distinguish assets created in 4.5 vs 4.4 and earlier due to the potential of Manifold booleans being present
- for SPLIT boolean insets, support new
-
EvaluatedExtract tool
- support removing selection boundary on the active object, toggle via
R
- useful if you previously added a mesh cut for the sole reason to extract a specific part of the mesh
- prevent fill angle going below 0
- decrease/increase angle in 1° steps when going below 5°
- support removing selection boundary on the active object, toggle via
-
TransformCursor
- add option in addon prefs to always snap when dragging, so there's no need to hold
CTRL
- called from MACHIN3tools Cursor and Origin pie
- only set Transform Orientation when setting Cursor Rotation only
- and only set Transform Pivot when setting Cursor Location only
- mention in HUD if Transform Pivot/Orientation is set
- fix radial array setup, when object origin is exactly in cursor
- add option in addon prefs to always snap when dragging, so there's no need to hold
-
PointCursor tool
- support setting Cursor Orientation
- toggle via
T
like in TransformCursor tool
- toggle via
- expose
set_transform_orientation
default to addon prefs
- support setting Cursor Orientation
-
HyperBevel
- remember
loop_angle
from one op call to the next - always ensure geo gizmos are shown (when enabled), no matter the polycount
- remember
-
ApplyAll tool
- fix exception encountering geo node mod with panels
-
ToggleAll tool
- fix exception when calling with ALT modkey (toggle objects) mode, when mod objects are not on viewlayer
-
PushFace tool
- fix object losing location on redo
-
PickObjectTree tool
- avoid showing invalid child level for mod object parented to another host
-
addon prefs
- make more "Outside" keymaps available for and expose each one under Tool Defaults under Settings tab
- PickHyperBevel tool
- HyperCut tool
- HyperBend tool
- PickObjectTree tool
- expose them as "Regular Keymaps" under the keymaps tab too
- support finding missing keymaps and restoring them
- make more "Outside" keymaps available for and expose each one under Tool Defaults under Settings tab
-
fix exception repeatedly deactivating and re-activating the addon
-
Example Assets
- add 3 new Split insets
- add 2 new MeshCut insets
- add 2 new Difference insets
- add HookMilledHole
- update some inset names, remove old ones used for testing
0.9.18+patch.4
2025-06-19
-
TransformCursor tool
-
visualize snap increment coords in 3D view when grid snapping on a smaller scale (adjust by scrolling while grid snapping)
- limit it to 2 and draw it as 1/10 and 1/100 in the HUD and statusbar accordingly
-
tweak behavior when invoked from MACHIN3tools' Cursor and Origin pie, better mirroring MACHIN3tools behavior
- support setting only Location when invoked with
ALT
being held - support setting only Rotation when invoked with
CTRL
being held - NOTE: both snap automatically and always
- only allow cursor transformation, no objects
- simplify HUD and statusbar accordingly
- support setting only Location when invoked with
-
support setting Blender's transform pivot and orientation, toggle via
T
- disabled by default, but can be default-enabled in addon prefs
- can be set up to only do this when invoked from MACHIN3tool's Cursor and Origin pie
-
disable showing Absolute Coords by default, toggle via
A
as before- can be default-enabled in addon prefs too
-
remember previous Grid Increment setting when re-invoking tool
-
remember previous Ignore Snapped Rotation setting, when re-invoking tool
-
significantly improve performance transforming huge assembly (instance collection) objects via
Q
orS
toggles -
improve recovering from cancelled native Translate/Rotate pass-through (by holding
CTRL
while invoking the Translate or Rotate gizmos)- only a single
ESC
press is required now to reveal the HC gizmos again in such a case
- only a single
-
avoid odd behavior when view is locked to the cursor
-
-
PointCursor tool
- significantly improve performance transforming huge assembly (instance collection) objects via
Q
orS
toggles
- significantly improve performance transforming huge assembly (instance collection) objects via
-
HyperBevel
- introduce
CTRL + B
keymap that works when HyperCursor tools is not active- deactivated by default
- enable under Settings tab > Addon > Tool Defaults > HyperBevel
- lower default loop selection angle from 40 to 30 degrees
- adjust by holding
G
as before
- adjust by holding
- introduce
-
HyperBevel, HyperCut and likely other tools
- fix precision issues while in ORTHO view while also using a massive clip_end value
-
HyperCut tool
- fix exception introduced in patch.2 when bbox or cursor plane drawing into face plane
- tweak statusbar cursor plane axis buttons
-
AdjustArray tool
- fix exception drawing in-between points for centered FIT arrays, when lowering count to 3
-
MatchSurface tool
- fix issue when active object has mods, where index face detection went wrong
- fix exception when index face has 2-edged verts
-
Focus and FocusProximity tools
- pop a message when view is locked to the cursor, that only zooming works
-
ScaleFace and MoveFace tools
- fix geo gizmos not updating when
ALT
repeating
- fix geo gizmos not updating when
-
Tool Header
- fix exception when generic gizmo reference becomes invalid in memory
-
Geometry Gizmos
- use less-dense 48 (tri-)coord geo for Edge Gizmos vs the previous 132 (tri-)coord ones
-
addon prefs
- draw layout boxes below opened panels to better group and separate things
0.9.18+patch.3
2025-06-07
-
AddPipe tool
- fix exception when adjusting global radius via
W
key, accidentally introduced in patch.2
- fix exception when adjusting global radius via
-
AdjustPipe tool
- support extending multiple curve splines at once, not just the first
- fix exception adjusting single point curves
-
HyperCut
- fix rare exception when snapping while toggling into depth adjustment mode while in ortho view
-
SnapRotate tool
- determine axis ring HUD based on rotational axis dimensions, not an average of all
-
in assetbrowser, only draw import method warning, when HyperCursor tool is active
- support point drawing in vulkan and metal in Blender 4.5
0.9.18+patch.2
2025-06-03
Blender
- in Blender 4.5
- default to MANIFOLD solver for all booleans
- AddObject, Add Boolean, HyperCut, HyperBevel and CreateAsset tools
- add ManifoldBooleanConvert tool in sidebar panel
- turn all boolean mods in the stack into MANIFOLD ones
- useful to update models created previously, good to see the performance and stability changes too
- default to MANIFOLD solver for all booleans
Tools
-
Blendulate tool
- bring over latest changes from CURVEmachine
- support Blendulating cyclic spline ends
- support redoing via Shift + R
- further modernize statusbar
- bring over latest changes from CURVEmachine
-
TransformCursor tool
- grid snapping
- support move snapping on grid, previously you could only do it when drag snapping
- show grid increments in HUD when snapping on grid
- fix statusbar to properly show grid increments, whenever you snap to the grid, not just when arraying
- move selection or selection with cursor
- support disabling selection flip via
X
key, when drag snapping selectionS
or selection and cursorC
- support disabling selection flip via
- fix hang when snapping on instance collection object, that has its wire objects also linked on the view layer
-
fix tooltip mentioning mod keys, when invoked from MACHIN3tools Cursor and Origin pie
- here it only ever drags the cursor
- requires MACHIN3tools 1.12.1
-
fix selection not being previewed when resetting cursor origin (to world) via
G
orW
- grid snapping
-
SnapRotate tool
- ignore mirror and array mods, when determining axis ring HUD size (based on object size)
-
AddObjectAtCursor tool
- update
ALT
repeat tooltip
- update
-
PushFace tool
- actually do allow snapping on "connected other verts" after all (see patch.1 before)
- they are stationary, and it's only the edges that should be avoided
- support sliding face a little
- it showed in the HUD before, but ever worked
- actually do allow snapping on "connected other verts" after all (see patch.1 before)
-
HyperCut
- fix exception when setting draw plane from face on mirror mod's instance
-
DuplicateObjectTree tool
- fix issue of leaving some mod objects revealed if they aren't parented and where severely hidden before
-
HideWireObjects tool
- improve _Wires collection creation
- support multiple per-blend file, one per scene
- make it blue to contrast with the green and orange _Assemblies collections in MACHIN3tools
- avoid hiding MACHIN3tools' group anchors
- improve _Wires collection creation
-
HyperBevel tool
- fix rare exception in gizmo group initiation
-
EditHyperBevel tool
- fix exception when editing cyclic HyperBevels
-
HyperMod tool
- fix exception when
CTRL + A
applying mods while MESHmachine is not installed
- fix exception when
-
AdjustCylinder tool
- avoid messing up geo when encountering torus geo, abort instead
-
AddPipe tool
- fix exception adjusting radius segment count due to typo
- disable debug output to catch point spam issue
-
AdjustPipe tool
- fix exception when cancelling cyclic pipes
-
AdjustArray tool
- fix exception drawing radial center array instance coords when going down to count of 2
- fix exception toggling a radial center array into a full array
-
ApplyAll tool
- fix rare exception when applying mods for multi-object selections (from mod panel)
-
FocusProximity tool
- prevent getting stuck at a proximity value of 0
Gizmos
-
GeoGizmoSetup tool
- increase angle threshold for redundant edge removal (so remove more of them)
-
Object Button Gizmos
- exclude all DECALmachine objects - not just decals - from getting these gizmos, so including trimsheet/atlas setup objects, and individual trim helper objects on these
- exclude MEShmachine's plug handle objects
Menus
- Face pie
- with PUNCHit 1.3 installed, support PUNCHit invocation from object mode
Panels
-
Object Popup Panel
- expose HyperBevel mode switch prefs
- NOTE: still toggles the addon prefs, not a per-hyperbevel prop
- expose HyperBevel mode switch prefs
-
sidebar panel
- add dedicated support and documentation sub-panels
- both toggled via single ❓ button in header, like in PUNCHit, CURVEmachine, MACHIN3tools
- gizmos sub-panel
- expose Geo Gizmo Setup buttons
- add dedicated support and documentation sub-panels
Internal
-
add Get Support tool
- show in addon prefs
- show in sidebar panel
-
bring over modernization from MACHIN3tools and PUNCHit
-
object visibility handling
-
statusbars
- draw all available numeric input keys
- enhance precision indicator for tools that allow changing it via
SHIFT
a little orCTRL
a lot
-
update various utility functions
-
-
yank out automatic asset import method change
- draw a warning/button in the asset browser header instead, when LINK or APPEND_REUSE are used
-
update HyperCursor Manager object
- use classmethods
- add icon management
-
linked object handling
- HyperMod tool
- prevent exception when trying to
CTRL + A
apply mods on object that is linked
- prevent exception when trying to
- ApplyAll tool
- poll against linked objects
- point out if active object is linked or has linked mesh
- in HC's Object Popup panel
- in Blender's modifiers panel
- manage_geo_gizmos() handler
- avoid checking linked objects
- HyperMod tool
-
addon prefs
- tweak keymap display
- re-layout a few parts
- integrated updater
- support updating x.x.x+patch.x styled versions
- NOTE: will work for the next patch only
- support updating x.x.x+patch.x styled versions
-
fix a number of exceptions when invoking operator tooltips from operator search panel
- fix odd Blender crash, when deactivating MACHIN3tools Mirror tool, while HC is registered, and then opening operator search menu??
0.9.18+patch.1
2025-02-14
-
HyperBevel tool
- fix issue when re-creacting cutter geo after leaving edit mode, when cutter object was deselected while in edit mode
- also support bringing multiple HyperBevel cutters into edit mode at once
- in adjustment pass, avoid accepting keyboard inputs and showing their keys in the statusbar, while gizmos are highlighted
- except for
SHIFT
andR
while an extend gizmo is highlighted R
is also used to toggle Realtime mode - while no gizmo is highlighted
- except for
-
Pushface tool
- avoid snapping on verts and edges connected to the face that is being pushed
- fix geo gizmos not updating when
ALT
repeating whileSHIFT
is being held too
-
addon preferences
- fix exception in keymaps tab when encountering invalid Toobar Popup keymap item
0.9.18
2025-02-10
Blender
- raise minimum Blender version to 4.2
New Additions
-
add HyperBevel 2
- completely rewritten from the ground up for better UX
- 3 stepped process
- selection
- toggle weld-preprocessing via
ALT
-holdT
to adjust weld threshold - loop select via
SHIFT
- hold
G
to adjust loop angle
- hold
- use
SPACE
to quickly finish with previous HyperBevels settings
- toggle weld-preprocessing via
- width dragging
- drag out initial bevel width
- batch toggle sweep alignment, depending on topological conditions
- gizmo adjustment
- extend the ends of non-cyclic cutters
- toggle individual sweep edge alignments, depending on topological conditions
- hold
SHIFT
to affect neighboring sweeps
- hold
- fine-tune bevel width
- change segment count and toggle chamfer and realtime preview
- drop bevel profiles from the asset browser
- use
ALT + SCROLL
to adjust HyperBevel placement in mod stack
- selection
- automatically create smooth shaded cutter, when active object is smooth shaded
- use
SPACE
to finish with the cutter hidden - use
LMB
to finish with the cutter selected - use
TAB
to finish into cutter edit mode - always sort new mod after last Split boolean in the stack, if present
- easy cutter editing modification afterwards, simply by switching edit/object modes - HC does the rest automatically
- NOTE: there is no more need to re-run HyperBevel from edit mode now, when you chose to make an adjustment in edit mode
- remove legacy edit mode
SHIFT + B
HyperBevel keymap accordingly
-
add (flick) Boolean tool
- with 2+ objects sleected, invoke via
B
keymap- or via new Boolean button gizmo
- pick boolean operation from the flick circle menu
- adjust what kinds of operations appear in the flick circle menu in the addon prefs, by default all 5
- Difference, Union, Intersect, Split, Gap
- Gap boolean uses custom geo node "Source" mod, to replicate boolean operant object's mod stack
- Difference, Union, Intersect, Split, Gap
- scroll to change the active object of the boolean operation
- use
SPACE
or drag out of the circle to finish with the cutter hidden - use
LMB
to finish with the cutter selected - use
TAB
to finish into HyperMod
- adjust what kinds of operations appear in the flick circle menu in the addon prefs, by default all 5
- with 2+ objects sleected, invoke via
-
add Hype and Unhype tools
- easily turn objects created outside of HC into hyper objects
- gives access to geometry and object button gizmos
- Hype is accessed from new ⏻ button gizmo
- Unhype is accessed from Object and Modifiers panel
- easily turn objects created outside of HC into hyper objects
-
add Link and Unlink tools
- accessed via 🔗 Link button gizmos
-
add Parent and UnParent tools
- accessed via Parent button gizmos
- when Parenting, leave only the parent active and selected
Gizmos
-
add dedicated set of Button gizmos for multi-object-selections to
- hype objects
- parent objects
- link object's meshes
- add booleans
-
add Button gizmos on active to
- unparent object
- use
ALT
to reveal parent instead
- use
- unlink an object's mesh
- use
ALT
to reveal other objects using the linked mesh instead
- use
- unparent object
-
Geometry gizmos
- support hyper ring selecting edge gizmos directly via
SHIFT + CTRL + LMB
- NOTE: via the dedicated Select button, it's still only
CTRL
- NOTE: via the dedicated Select button, it's still only
- support hyper ring selecting edge gizmos directly via
Add Object
- AddObjectAtCursor tool
- indicate in HUD, if there is a history entry for the object (and so the previous object's size can be reused via
MMB
) - draw surface plane, which helps understanding the placement
- add cursor history entry whenever you create a cylinder
- adjustable in addon prefs, and can optionally be done for Cube's and Assets too, or not at all
- update rounded cube and cylinder creation (
R
toggle)- in 4.2:
- always use one vg bevel for cubes and remove support for multiple ones by subdividing the cube's mesh
- always use 2 vg bevels for cylinders (top and bottom)
- in 4.3, taking advantage of edge weight bevels now
- support cubes with 1, 2, or 3 bevels mods
- support cylidners with 1 bevel mod now
- in 4.2:
- when adding assets with subsets on objects with mirror mods, preview mirrored subsets by drawing their wires
- expose number keys to statusbar for subdivision or bevel mod count adjustments
- when doing booleans for cubes and cylinders, set object's display type based on whether object is in range of boolean host
- add
W
keymap to toggle wireframe overlays, useSHIFT + W
now to toggle boolean display type cycling - prevent accidentally adding objects to hidden layer collections, when one is active in the outliner
- fix issue with boolean solver options in redo panel
- fix issues when redoing where boolean setup would not happen
- avoid Blender's using fallback warning in system console, when trying to boolean microscopic objects (due to the size not having been dragged out yet)
- indicate in HUD, if there is a history entry for the object (and so the previous object's size can be reused via
Hype
-
HyperCut
- refactor major parts of it, improving performance on dense meshes and complex mod stacks considerably
- rework how depth and width limiting/adjusting works
- use mouse movement instead of scrolling now
- tap
ALT
to flip width or depth limit from one side to the other
- always sort new mod after last Split boolean in the stack, if present
- add workaround for Blender's object origin-loss-on-redo bug
- in apply mode with MESHmachine installed, stash the cutter
-
HyperBend
- add workaround for Blender's object origin-loss-on-redo bug
- flesh out statusbar some more
- indicate
LMB
action when highlighting one of the gizmos - indicate segment count, and adapt to mouse position relative to the cursor on the screen
- preview highlighted gizmos, and what they do
- indicate
- show pre-bend wire while adjusting limit, even while bend angle is zero
- avoid bending mirror objects, when self.affect_children is set and mirror mod uses object to mirror across
-
EditHyperBevel tool
- support toggling smooth shading via
S
key - support
ALT
profile-repeating previous HyperBevel (created via HyperBevel or adjusted via EditHyperBevel)
- support toggling smooth shading via
-
ExtendHyperBevel tool
- show wire of non-evaluated parent object
- helpful to see actual mesh boundaries for heavily booleaned object
- show wire of non-evaluated parent object
Transform tools
-
TransformCursor tool
- support transforming the object selection when dragging or moving the cursor, based on the initial cursor location and orientation
- great way to place a selection exactly where you want it to sit
- when translating, or when draggin without snapping on anything, or when snapping while ignoring snapped cursor rotation - do a simple translation
- when dragging and snapping do a more advanced transformation that allows aligning the selection relatively based on the initial (snapped) cursor with the new snapped cursor
- this creates a face-to-face alignment, or face-to-edge, or whatever else you want to "snap" to each other
- use
Q
orS
to toggle this on -S
if you only want to transform the selection,Q
if you want to transform both - selection get's previewed in the new location by drawing its wire
- great way to place a selection exactly where you want it to sit
- support shapping cursor on instance collections / assembly assets
- hyper arrays
- fix not being able to array wire objects
- prevent exception when arraying selection including empties
- support transforming the object selection when dragging or moving the cursor, based on the initial cursor location and orientation
-
Point Cursor tool
- support pointing the X axis to an edge using
CTRL
- similar to TransFormCursor, support pointing a selection via
S
key- like for the cursor itself, Z axis gets pointed based on chosen face, while X and Y axes get pointed based on chosen edge
- support pointing the X axis to an edge using
-
CastCursor tool
- support casting on instance collections
- mention Grid Align in HUD not Surface Align when cast hits grid while Surface Align is enabled
-
SnapRotate tool
- draw ring to further emphasize the view-based-chosen rotation axis
- also allow lowering snap angle in 1° steps down 1°, once you reach 5°
Manage
-
HyperMod tool
- support previewing 3+ corner bevels
- I still don't recommend setting them up though :)
- support unpinning of pinned mods using
P
- automatically unpin mod, if you attempt to move another to its location
- show warning in HUD when current mod stack order differs compared to how HC would sort it
- show alternate warning when mod sorting is disabled
- with sorting disabled also disable modifier prefix addition (+ or -) when moving mods
- for Catmull-Clark SubD's support toggling PRESERVE_CORNERS boundary smooth prop via
C
key - aka Keep Corners - support selecting and toggling mirror objects
- indicate and support selecting severely hidden mod objects, which come in 3 flavors:
- not in scene, not on view layer (in excluded collection), in hidden collection(s) only
- support previewing 3+ corner bevels
-
PickHyperBevel tool
- support changing segment count simply by highlighting gizmo and scrolling
- so without even invoking EditHyperBevel via
LMB
- so without even invoking EditHyperBevel via
- support toggling chamfer too - via
C
- make cutter selection work how it's done in PickObjectTree tool
S
to select and finish the toolSHIFT - S
to select multiple- NOTE: no
ALT
to affect all yet though
- add
CTRL - S
to select and finish into edit mode - indicate and support severely hidden hyper bevel objects, which come in 3 flavors:
- not in scene, not on view layer (in excluded collection), in hidden collection(s) only
- support changing segment count simply by highlighting gizmo and scrolling
-
Pick Object Tree tool
- indicate and support selecting severely hidden mod objects, which come in 3 flavors:
- not in scene, not on view layer (in excluded collection), in hidden collection(s) only
- make hiding of active's wire children on tool invocation optional in addon prefs
- indicate and support selecting severely hidden mod objects, which come in 3 flavors:
-
RemoveUnusedBooleans tool
- refactor to avoid impression of initial freezing, show progress HUD instead
- fix exception when launched from the properties panel
-
PickObjectTree tool, RemoveUnusedBooleans tool, cursor history visualization
- redo completely how labels in the HUD are placed in relation to the button gizmos that are also shown
- support all kinds of combinations of system scaling, Blender's UI and gizmo scaling, as well as HyperCursor HUD scaling
- redo completely how labels in the HUD are placed in relation to the button gizmos that are also shown
-
HideWireObjects tool
- support not just hiding visible wire objects as before, but sorting all scene wire objects into a dedicated _Wires collection
- IF objects are not in any other user created collection
- can be disabled in addon prefs, to restore the legacy just-hide-behavior
- pop a message when objects where hidden, or sorted into
_Wires
collection
- support not just hiding visible wire objects as before, but sorting all scene wire objects into a dedicated _Wires collection
-
DuplicateObjectTree tool
- handle severely hidden objects
- only duplicate or instance 2 of the 3 flavors however
- objects in excluded collections
- objects in hidden collections
- only duplicate or instance 2 of the 3 flavors however
- avoid duplicating mirror objects in the tree unless
SHIFT
is being held
- handle severely hidden objects
Curve tools
-
Blendulate tool
- update to latest state in CURVEmachine 1.3
- support NURBS
use_endpoint_u
,order_u
andresolution_u
props- previously these got lost when blendulating a NURBS spline, now they are maintained
- support NURBS
- support
ALT
for merging (in addition to existingM
key)
- update to latest state in CURVEmachine 1.3
-
AddPipe tool
- support finishing directly into AdjustPipe tool using
TAB
- support finishing directly into AdjustPipe tool using
-
AdjustPipe tool
- support toggling to NURBS curve via
Q
key
- support toggling to NURBS curve via
Edge tools
- BevelEdge tool
- Blender 4.3 support edge weight based beveling
- toggle via
E
key - vgroup based bevels remain the default, as they have better stacking behavior
- use edge weights in cases where vgroup bevels affect undesired edges
- toggle via
- ensure toggling loop selection via
SHIFT
only uses gizmo edges - support tension adjustment for mesh and mod bevels using
T
- Blender 4.3 support edge weight based beveling
Face tools
-
ExtrudeFace tool
- support and default to making mesh manifold
- this option is available when the hyper selected faces' border edges are the same as all existing non-manifold edges
- think of a simple plane or circle being extruded - will be transformed into manifold cube or cylinder accordingly
- this option is available when the hyper selected faces' border edges are the same as all existing non-manifold edges
- support and default to making mesh manifold
-
MatchSurface tool
- preview the matched face's location and orientation
-
Push Face tool
- improve performance when pushing faces of boolean operant objects, by avoiding mod stack evaluation
- support pushing a little via
SHIFT
-
ExtractFace tool
- in basic (non-evaluated) mode (invoked from Face pie) clear the hyper selection on the original
- fix exception when fill-selecting and encountering edges with more than 2 faces
- fix exception trying to create preview/selection coords, when nothing or an object other than the active was hit by ray cast
-
Move Face tool
- fix issue where amount was not properly displayed
- fix issue where intering numeric amount would not properply translate based on previous interactive adjustment
Adjust tools
- AdjustDisplace tool
- use
ALT + SCROLL
to pick among potentially multiple Displace mods in the local stack or on potential remote objects- NOTE: split and gap boolean cutters' Displace mods can be adjusted remotely from their respective non-wire objects for convenience
- draw SPLIT or GAP wire when adjusting remote Displace mods
- use
misc
-
BooleanTranslate and BooleanDuplicate macros
- rewrite, simplify, optimize
- remove mirror mods that used the original parent, when the parent object changed (moving inset from one to another object for instance)
-
ApplyAll tool
- fix MESHmachine exception when creating stashes due to MM update
- disable backup creation
- to be re-designed in 0.9.19
Assets
- assets
- add 2 spot weld insets
- turn off ray visibility for arrows on hook insets
Panels
-
Sidebar panel
- add tools panel
- expose major tools and macros in a single place, grouped together, similar to the keymaps panel
- keymaps panel
- support drawing 4.3's extra-wide keymap icons
- draw keymaps dimmed when they have been deactivated
- add tools panel
-
Object and Modifiers panel
- show mesh instance count and allow unlinking by clicking on it
- support disabling HyperCursor's mod sorting for active object
- disabled automatically when hyping objects created outside of HC, with mod stacks whose sorting differs compared to how HC would sort it
- with mod sorting enabled expose Sort tool, when current mod stack order is different than how HC would sort it
- NOTE: mod sorting is otherwise run automatically by tools like HyperCut or HyperBevel to place their mods in the stack
- change name of Duplicate button to Duplicate Tree
-
disable backup retrieval
- to be re-designed in 0.9.19
-
Object button gizmo
- when
CTRL
clicking it to force mod sorting, pop a fading message
- when
-
Geo Gizmo panel
- expose buttons to Setup and Clear gizmos
- previously this was only done via mod key clicking on the button gizmo, that opens the panel
- expose buttons to Setup and Clear gizmos
Pies
- AddObject pie
- draw asset icon, if there is an active asset
- NOTE: can't click on it unfortunately, only serves as a preview of the selected asset
- draw asset icon, if there is an active asset
preferences
-
settings
- sort individual tool prefs into per-tool sub panels
- disable
avoid_append_reuse_import_method
setting- you are smart enough to disable Append Reuse, when you notice your inset meshes are linked :)
- which is also very obvious now too due to the new button gizmo
- you are smart enough to disable Append Reuse, when you notice your inset meshes are linked :)
-
keymaps
- expose native
view3d.cursor3d
keymap- and indicate potential conflicts with PointCursor (instant)
SHIFT + RMB
and TransformCursorCTRL + RMB
keymaps - personally I prefer using
ALT + RMB
for the native tool, but now you can adjust either to your liking, or disable what you don't need
- and indicate potential conflicts with PointCursor (instant)
- disable
ALT + SCROLL
cursor history entry change keymap by default- too often it triggers accidentally causing major disorientation
- you can always pick a cursor history entry from the sidebar anyway, or by drawing them all in the 3D view
- too often it triggers accidentally causing major disorientation
- expose native
internals
-
refactor
- completely rewrite and optimize and prettify (almost) all gizmo internals
- completely rewrite and optimize and prettify all statusbar info
- stop showing boolean props as "Something: False", instead shorten it and dim the entire entry if prop is False
- support 4.3's extra-wide key icons
- use new
MMB_SCROLL
icons in 4.3
- completely rewrite and optimize how object wires are fetched and drawn
- rework object visibility tooling
- rework HUD drawing
- rework scene recasting
- create generic split boolean setup used by HyperCut, AddObjectAtCursor and Boolean tools
- rework mouse tracking and scrolling
- support Apple Magic Mouse (I hope, please confirm)
- support scrolling using UP and DOWN keys as well as PLUS and MINUS keys
-
mod sorting
- remove
*
and**
sorting- all we need is
+
and-
- all we need is
- support sorting of pinned mods (at the end accordingly)
- remove
-
asset dropping
- simplify internals
- fix Windows-only asset path issues introduced around Blender 4.0
-
fix issues when changing workspace while some modal tools are active
- add early CANCEL for ops returning PASS_THROUGH in case area changes due to workspace change
0.9.17
2024-05-21
-
add Hyper Arrays (in Blender 4.1)
- geo node based custom array mods for fully editable linear and radial arrays
- NOTE: earlier Blender builds still use the legacy arrays using the array mod
- like legacy radial arrays, radial hyper arrays still use an empty
- but it's now used to determine the array origin and axis, instead of the first instance
- this allows you to modify the radial array radius and axis effortlessly just by manipulating the relationship between empty and array object
- further more, for multi-object radial hyper arrays the empty is now also shared among the objects/mods
- but it's now used to determine the array origin and axis, instead of the first instance
- set them up - just like before - using the TransformCursor tool, invoked while holding down
CTRL
when moving, dragging or rotating the main HC gizmo - edit hyper arrays using the new AdjustArray tool, invoked from the new Array object gizmo
- or like any other geo nodes mod, from the native modifier panel
- multi-object hyper arrays are linked together internally, and can be adjusted as one, IF you use the AdjustArray tool, toggle via
R
key - with mutiple hyper arrays present in a stack, support selecting a specific one to adjust via
CTRL + SCROLL
- draw elaborate preview coords for all of the different setup variations
- support
S
andSHIFT + S
finish to select radial array empty - adjust linear distance or radial angle by holding
T
key
- geo node based custom array mods for fully editable linear and radial arrays
-
TransformCursor tool
- in Blender 4.1 support setting up centered hyper arrays using the
C
key - make new custom PROJECTED_BOUNDS center method the default for face snapping
- when drag snapping in EDIT_MESH mode in Blender 4.1, avoid temporarily disabling Auto Smooth mod if present
- otherwise the mesh would appear completely smooth shaded (across all hard edges)
- draw distance line for linear arrays, including a variation of it for centered hyper arrays
- fix
CTRL + LMB DRAG
setup for linear arrays, which never worked correctly
- in Blender 4.1 support setting up centered hyper arrays using the
-
HyperBevel tool
- support concave HyperBevels
- automatically determine convexity based on first edge in sequence
- for convance bevels, avoid overshooting the ends
- and do a boolean UNION instead of a DIFFERENCE boolean
- NOTE: may need additional manual adjustment of the cap faces
- the MatchSurface tool is extremely useful here
- when adding a weld mod (using
ALT
), add one in ALL instead of CONNECTED mode
- support concave HyperBevels
-
HyperCut tool
- when finishing with
SPACE
hide the cutter(s), like is done in AddObjectAtCursor tool - for
SPLIT
cuts and when finishgni withLMB
make the active's duplicate active, not the original active- this is because the split-off duplicate is likely the one, that you want to further edit/move/adjust the gap for, etc
- when finishing with
-
HyperCut, HyperBevel, PickObjetTree, PickHyperBevel tools
- support finishing/switching into HyperMod via
TAB
key
- support finishing/switching into HyperMod via
-
HyperMod tool
- add new
ALT + W
keymapping to invoke in PICK mode - add new
ALT + SHIFT + W
keymapping to invoke in ADD mode - simplify ADD and PICK mode differences in statusbar, and only allow mod setting changes in PICK mode
- support modal adjustment by holding
T
key of:- Weld threshold
- Shell thickness
- Displace strength
- Auto Smooth angle
- SubD levels and render levels
- support switching into BevelEdge, AdjustShell, AdjustDisplace and new AdjustArray tools using
TAB
for specialized mod adjustments - for HyperBevels:
- switch into EditHyperBevel tool, instead of PickHyperBevel (previously) using
TAB
- switch into ExtendHyperBevel tool using
ALT + E
(was possible before but not mentioned in statusbar)
- switch into EditHyperBevel tool, instead of PickHyperBevel (previously) using
- for regular booleans also support finishing into PickObjectTree tool using
TAB
- in ADD mode add ability to add preceding double subd mods before a solidify mod using a second
S
key press - support applying (enabled) mods using
CTRL + A
- very useful also for applying only a part of the mod stack, when used in combination with
SHIFT + D
, which toggles mods from the current mod to the end of the stack - also automatically re-invoke HyperMod, when there are hidden mods, after you applied the enabled ones
- very useful also for applying only a part of the mod stack, when used in combination with
- support
SHIFT + S
to select mod objects without loosing initial object selection- great for radial array empty selection to move/scale/rotate the entire thing
- NOTE: this is different from
SHIFT + S
in PickObjectTree too, which it will keep the tool running and allow for additive, sequential mod object selections
- for SUBSURF mods, draw levels, render levels and subdivision algo in HUD
- draw Radial Array and Radial Hyper Array empties and Mirror empties/objects, and support selecting them using
S
key and focusing on them usingF
key - draw EdgeBevel vgroup edges, similar to how boolean cutters are drawn
- indicate invalid Edge Bevels
- Edge Bevels are invalid if their vertex group does not create a single edge (anymore)
- add new
-
PickObjetTree tool
- use new
ALT + Q
keymapping- this frees
ALT + S
for the Blender native object scale reset again
- this frees
- support selecting radial hyper array empty using
S
orSHIFT + S
keys - ensure you include wire mod objects in object tree, even those that are parented to another object
- these were previously filtered out as part of a flawed attempt to exclude wire children of mirror mod objects
- replace "alt. mod parent" terminology with "alt. mod host" instead
- change keymap toggling their visibility/selectability from
P
toH
accordingly
- change keymap toggling their visibility/selectability from
- support finding mod objects referenced by any and all geo node mods
- use new
-
AdjustShell tool
-
set the mod's
show_on_cage
prop based on the offset value- inwards (-1 offset): disable it, which is ideal, as she selection is very obvious then
- centered and outwards: enable it, as otherwise the selection will be hidden and it would be hard to tell what's selected
- unfortunately that also draws the faces that are result of the shelling
- also with preceding subds it draws additional face dots as well
-
AddObjectAtCursor tool
- prevent toggling boolean for objects without a boolean parent present (empty scene)
- also add simple range check and use it to disable the boolean mod if out of range
- then when finishing, also remove any boolean mod, that was added again, IF the operant object is still out of range
- remove "invalid" auto smooth mods created sometimes Blender when pasting or appending objects from earlier Blender versions
- the terminal complains about them, and they lack the "Angel" or "Ignore Sharps" input on the geo node group
- ensure scale is always applied when creating a unit cube or cylinder
-
HideWireObjects tool
- on Windows use
SHIFT + ESC
keymapping now - avoid hiding empties set to IMAGE mode
- support making arrayed and mirrored object active and selected, when array- or mirror-empty is selected, while HideWireObjects is invoked and said empties are hidden
- on Windows use
-
RemoveUnusedBoolean tool
- add new
ALT + X
keymapping
- add new
-
ApplyAll tool
- unhide and deselect the mesh
- otherwise applied union hyper bevels will have their cap faces still hidden
- fix bl_idname in registration.py, causing the Screencast in MACHIN3tools to not show the HC prefix
- remove unused edge bevel vgroups
- unhide and deselect the mesh
-
CastCursor tool
- when cursor is not on screen pass the
SHIFT + C
keymap through to Blender- this way you can actually use the MACHIN3tools Collections pie, without leaving the HC tool
- when cursor is not on screen pass the
-
Push Face tool
- use Center Origin option by default
- but prevent changing origin, when MIRROR (across object's origin) or (legacy) radial ARRAY is present, because changing the origin would (most likely) produce undesired results
- use Center Origin option by default
-
ChangeBackup tool
- when recalling backup, default to removing the active and make hiding it optional, instead of the reverse
-
DuplicateObject tool
- avoid objects not in the view_layer (like decal backups, or stash objects) contributing to the object tree or mod dict
- this happened towards the end of the recent Keycaps Process video
- avoid objects not in the view_layer (like decal backups, or stash objects) contributing to the object tree or mod dict
-
CreaseEdge tool
- prevent setting negative crease values
-
AdjustCylinder tool
- set geo gizmo edit mode to EDIT or SCALE, if the limit has been crossed in either direction due to the side count adjustment
-
MatchSurface tool
- if object has no modifiers, expose
R
key to toggle redundant (potential) shared edge removal - fix exception when aligning to face on active and active hosts modifiers
- if object has no modifiers, expose
-
CurveSurface tool
- prevent exception when used on non-manifold geo, such as a lose face
-
Toggle Gizmos tool
- ensure the HUD elements and HC gizmos are drawn when toggling the main HC gizmo using
ESC
- otherwise you could get stuck in a state where the gizmos stay hidden, if you cancel TransformCursor's pass through to the transform or duplicate macros (SHIFT or ALT key invoke)
- ensure the HUD elements and HC gizmos are drawn when toggling the main HC gizmo using
-
GeoGizmoSetup tool
- support edit mode invokation from MESHmachine, which now runs it after Fuse, Refuse, Unfuse, Unchamfer and Unbevel
-
Object Gizmos
- increase view border gap to 200 and take UI scaling into account as well
-
Geometry Gizmos
- fix geometry face gizmo placement on some faces, due to flaw in native
face.calc_center_bounds
method- introduce and use new custom PROJECTED_BOUNDS face center method
- fix face and scale gizmos getting stuck being hidden, when finishing HyperCut in depth limit mode
- fix exception after deleting the only or last face of a mesh
- fix geometry face gizmo placement on some faces, due to flaw in native
-
Hyper Bevel Gizmos (Pick HyperBevel tool)
- draw disabled HyperBevels with lower alpha
-
mod sorting
- support sorting new hyper arrays (to the end)
- support CURVE mods, and sort them at the very end (after MIRROR and ARRAY)
- remove "invalid" auto smooth mods created sometimes Blender when pasting or appending objects from earlier Blender versions
- the terminal complains about them, and they lack the "Angle" or "Ignore Sharps" input on the geo node group
-
rework 3D view sidebar, addon prefs, settings panel (HC gizmo) and help panel (tool header)
- make use of new panel fold layouts in Blender 4.1 tointroduce panels and sub-panels for better grouping of related settings and info
- also introduce legacy fallback approach that mirrors this look and behavior in earlier Blender versions
- improve dislay of keymaps and support having them open prmanently (and only them) in the 3D view sidebar
- make use of new panel fold layouts in Blender 4.1 tointroduce panels and sub-panels for better grouping of related settings and info
-
addon prefs
- introduce tabs
- Settings
- support disabling HyperMod gizmo
- with it being keymapped now, the gizmo becomes optional
- support disabling reflect gizmo (MESHmachine Symmetrize and/or MACHNI3tools Mirror) as well
- support disabling HyperMod gizmo
- Keymaps
- tighten how individual keymap items are drawn
- add ResetKeymaps tool and expose it when ever keymaps are changed or removed by the user
- draw it at the bottom the bottom of the keymaps tab
- Settings
- introduce tabs
0.9.16
2024-04-01
-
Blender 4.1 support
-
add Bevel Profile example assets
- support dropping them on HC's 'Edge Bevel' mods
- drop them directly on the mesh, in proximity of an edge carrying an 'Edge Bevel' mod
- support dropping them on HC's Hyper Bevels
- need to be in PickHyperBevel mode, and drop them on the HyperBevel gizmos
- NOTE: to drop them on WIRE objects, you have to be in WIRE shading mode too
- as otherwise Blender won't snap on the objects
- support dropping them on HC's 'Edge Bevel' mods
-
add new thumbnails for Curve profile example assets
-
BevelEdge and EditHyperBevel tools
- indicate if a CUSTOMPROFILE is present, when in SUPERELLIPSE mode
- support toggling from SUPERELLIPSE to CUSTOMPROFILE (if present) using
B
key - if CUSTOMPROFILE is chosen
- visualize bevel profile
- support flipping and flopping it using
F
andV
keys
- support canceling profile drops
-
Edge Bevel tool
- refactor
- support re-sorting mod (incl. on instances) by holding down
ALT
, just like in HyperMod tool- unlike in HyperMod only sort among other
Edge Bevel
mods though
- unlike in HyperMod only sort among other
- support additively assigning new edges to exsiting Edge Bevel mod
- including re-assigning edges of other Edge Bevel's
- support dropping profiles on instanced Edge Bevels
- fully support percent bevels, including special case locked FULL 100% percent bevels
- cycle through OFFSET, PERCENT and FULL width modes using
Q
key - NOTE: converting from PERCENT to OFFSET or back is tricky, and only realy works on unit cubes
- PERCENT bevels are inherently based on local topological conditions, which I won't take into account
- cycle through OFFSET, PERCENT and FULL width modes using
- support MESH beveling on top of MOD bevel (clearing the MOD bevel)
- run validation/cleanup pass at the end, not the beginning
- check if Edge Bevel vgroups are referenced by any verts, and if not remove
- check if Edge Bevel mods (including on instances!) point to an Edge Bevel vgroup, and if not remove
- check if Edge Bevel vgroups are in use by Edge Bevel mods (including on instances!) and if not remove
- draw fading message when unused vgroups or mods are removed after finishing
- use MITER_ARC
- flesh out HUD some more
- fix edge gizmo creation on cylinders when doing MESH bevel
-
HyperBevel tool
- flesh out the first selection stage of the HUD some more
- when redoing a HyperBevel (using
SPACE
key in selection stage) support doing it with a CUSTOMPROFILE (set/edited in EditHyperBevel tool or after dropping it)
-
EditHyperBevel tool
- support cycling
use_self
anduse_hole_tolerant
boolean mod props- similar to HyperMod tool, using
E
key, except here it's always EXACT, never FAST booleans
- similar to HyperMod tool, using
- properly restore initial states when canceling
- support cycling
-
Cast Cursor tool
- support center casting via
C
key- cast half the target distance
- great to position the cursor in the middle of an object or between two objects
- also accidentally shooting the cursor into another galaxy
- was a result of float imprecision, now there is a cutoff distance of 100000m, or 10km
- support center casting via
-
PushFace tool
- support Extrude tool quick access via
CTRL
mod key - support nav passthrough in interactive mode
- change HUD title from Move and Slide to Push Move and Push Slide
- this is to differentiate it from the Move face tool
- support Extrude tool quick access via
-
PickObjectTree tool
- fix issue where some empty crosses (for mirror or rotational arrays for instance) aren't drawn
- for mirror and array mods don't use the evaluated mesh to determine the gizmo location
- support finishing op with
LMB
when no gizmo is highlighted - be super strict about what keymap events are allowed to pass through, avoiding unnecessary object selections or operator invocations
- improve 2d coordinate update after using Focus using
F
orALT + F
-
PickHyperBevel tool
- delay bevel removal, by first marking them, and only actually remove when finishing the op
- draw gizmos in red, when HyperBevel is marked for removal
- remove preceding Weld modes too, if both are linked together though their prefix
- flesh out HUD and statusbar
- support toggling HyperBevel using
D
key - support adjusting segment count directly by hovering on gizmo + scrolling, without having to invoke EditHyperBevel tool via
LMB
- temporarily activate wireframe, if you do so to better evaluate what's happening
- support finishing op with
LMB
when no gizmo is highlighted - be super strict about what keymap events are allowed to pass through, avoiding unnecessary object selections or operator invocations
- properly restore initial states when canceling
-
RemoveUnusedBoolean tool and its GizmoGroup
- bring everything up to date (mirroring the improvements made in PickObjectTree tool)
- support gizmo hovering by increasing size of gizmos and HUD elements
- when highlighting an element, hide all others, but draw dots in their place, just like when doing navigation passthrough
- draw dots in red or white, depending on remove/keep mode
- draw highlighted wire twice - with and without xray
- support finishing op with
LMB
when no gizmo is highlighted - be super strict about what keymap events are allowed to pass through, avoiding unnecessary object selections or operator invocations
- this allows for dropping the previous use of
hide_select
of all other visible objects- which was such an awkward way to avoid with accidental passthrough selection events
- this allows for dropping the previous use of
- support for keyboard based toggling and focusing
- use
X
to toggle remove/keep state - use
D
to togglemod.show_viewport
- use
F
andALT + F
to focus or place the view
- use
- flesh out statusbar
- improve unused boolean check by also taking dimensions change into account
- improve 2d coordinate update after using Focus using
F
orALT + F
- always draw wires of mods/objects set to keep
- this visually indicates they are important and keeping them visible indicates they will remain so and not be removed
- bring everything up to date (mirroring the improvements made in PickObjectTree tool)
-
AddObjectAtCursor tool
- add automatic but optional subset mirroring base on presence of Mirror mods on the active (boolean parent) object
- only mirror non-wire, non-hook-handle objects
- toggle via
M
key
- when enabling and disabling boolean in the modal, ensure the mod is removed again when finishing with it disabled
- when hiding booleans by finishing via
SPACE
, make the "boolean parent" active and selected- except when adding a hook inset, then select the hook object, no matter how you finish the op
- deal with Blender auto-added Auto Smooth mods when adding an Asset
- turns out it is fucked up after appending, and doesn't even have an Input_1 prop, so just remove the mod in such cases
- add automatic but optional subset mirroring base on presence of Mirror mods on the active (boolean parent) object
-
Add Pipe tool
- enable caps by default
- increase default bevel resolution from 4 to 12
-
AdjustPipe tool
- redo HUD completely
- replace previous PROFILE mode with DIAMOND and SQUARE modes
- so there are 4 now: ROUND, DIAMOND, SQUARE and OBJECT
- for OBJECT to be available you have to have dropped one or more profile curve objects on the pipe
- cycle through them using
B
keys
- so there are 4 now: ROUND, DIAMOND, SQUARE and OBJECT
- only expose pipe resolution for ROUND mode
- support toggling Fill Caps via
C
key - in Blender 4.1, if the pipe is smooth shaded (
S
key), allow toggling Auto Smooth viaA
key - add Smooth / Auto Smooth indicators in HUD
- properly restore initial states when canceling
- adjust mouse sensitivity
-
HyperMod tool
- indicate if EdgeBevel mod has CUSTOMPROFILE
- by default avoid toggling Auto Smooth mod when toggling all mods via
A
key
-
FocusProximity tool
- with auto_clip_start disabled, use the initial clip start value, not 0.05
- remember
adjust_clip_start
prop
-
ExtractFace tool
- remember
fill_angle
prop, and lower the default from 60 to 20
- remember
-
HyperBend tool
- support finishing op with
LMB
when no gizmo is highlighted - be super strict about what keymap events are allowed to pass through, avoiding unnecessary object selections or operator invocations
- support finishing op with
-
DuplicateBoolean tool
- only let HC takeover the boolean duplication, when HC tool is active
-
FlattenFace tool
- fix unpredictable results, depending on view
-
LoopCut tool
- fix exception when ALT redoing
-
CreateAsset tool
- fix exception when trying to change existing asset
-
Geometry Gizmos
- refactor and improve when and how they are updated or re-created
- ToggleGizmoDataLayerPreview and ToggleGizmo tools (edit mode HC context menu, or in MACHIN3tools Modes pie)
- add operator descriptions
- change preview colors from red and orange, to green and blue
- for WIRE objects, don't dim the backside gizmos and avoid toggling out of XRAY mode
- fix gizmo size/direction issue with objects that are scaled negatively (on one or three axes)
- avoid showing for multi object selections
-
Object Gizmos
- refactor and improve when and how they are updated or re-created
- fix exception when deleting CURVE object and selecting MESH object afterwards
- avoid showing for multi object selections
-
addon preferences
- add custom updater
- add option to avoid toggling Auto Smooth mod in HyperMod tool
- expose global geometry gizmo scale pref
- make debug addon registration output in system console optional
-
modifier sorting
- in Blender 4.1 support Auto Smooth sorting
- towards the end of the stack, but before Mirror and Array mods
- in Blender 4.1 support Auto Smooth sorting
-
update fading info/warning label drawing everywhere
- add grip header bar to Object, GeoGizmo and HyperCursor Setting panels
0.9.15
2024-02-18
-
support Blender 4
-
add MoveFace tool
- NOTE: different from PushFace, MoveFace moves in the face's plane
- support opposite face selection via raycast, by invoking the tool with
SHIFT
mod key - support moving hyper selected faces too
- support numeric input in modal
- support nav passthrough
- support ALT repeat
- but note, what is X or Y direction for one face, may be a different for another face
- support redo panel
-
HyperCut tool
- flesh out HUD some more and make the 2 stage proces more clear:
- draw plane selection (bbox, face, cursor)
- drag out the hyper cut direction
- support snapping on other objects (non-active, non-wire) objects using
SHIFT + CTRL
- draw additional snapping lines in VIEW3D
- pretty cool for cases whwre snapper coords are not in the drawing plane already
- draw depth indicators as fading vectors
- draw the side indictor even when splitting now
- this indicates where the cutter object is created, so is useful info
- only draw HUD and VIEW3D elements in the area (=the 3d view) the tool was invoked in
- support limiting cutting depth by holding
D
key- changes the view and lets you scroll to adjust the depth
- support limiting cutting width by toggling
W
key- scroll to adjust the width
- fix issues naming the two mods for split booleans
- for split cuts, add "(Split Difference)" and "(Split Intersect)" to mod names
- instead of just ("Difference") and "(Intersect)" as before
- fully support HOps smart objects
- check if mesh bbox is infinitely small, and if so fetch the evaluated bbox instead for drawing on
- avoid mod sorting for objects that aren't ishyper
- support lazy splitting using
Q
(in split mode)- creates a non-manifold plane object cutter, with a shell (solidify) mod
- flesh out HUD some more and make the 2 stage proces more clear:
-
PushEdge tool
- indicate mouse movement direction in HUD
- fix issues with scaled objects
- support numeric input
- supprot shift/ctrl precision adjustment in interacitve mode
- support nav passthrough without affecting the push amount
- support ALT repeat
- but note, what is X or Y direction for one face, may be a different for another face
- support redo panel
-
ExtrudeFace tool
- rewrite completely
- support opposite face selection via raycast, by invoking the tool with
SHIFT
mod key - support extruding multiple hyper selected faces at once
- with multiple connected faces present
- support toggling individual extrude
- support cycling extruson modes Selected, Avergated and Vert
- support nav passthrough without affecting the extrusion amount
- deal with vertex groups, bevel weights, creases, seams and sharps on the extuded geo
- it's seems to be wise to clear them on the "outer geo", wich is essentially the original geo
- make it work on non-manifold geo, such as simple planes or circles
-
InsetFace tool
- rewrite completely
- support opposite face selection via raycast, by invoking the tool with
SHIFT
mod key - support inset and outset depending on the direction of the mouse movement
- insetting is blue, outsetting is red
- support insetting multiple hyper selected faces at once
- support toggling individual inset with multiple connected faces present
- support toggling even and edge rail using
E
andR
keys - support toggling Auto Outset using
A
key- with it disabled you can inset outwards, growing the face instead of shrinking it
- with it enabled you inset into the neighboring faces, shrinking them
- deal with vertex groups, bevel weights, creases, seams and sharps on the inset geo
- it seems to be wise to clear them on the "inner geo" when insetting and on the outer geo when outsetting
- support insetting on non-manifold geo (such as a single face object)
- support nav passthrough without affecting the inset amount
- support ALT repeat
- but note, what is X or Y direction for one face, may be a different for another face
- support redo panel
-
ScaleFace tool
- rewrite comepltely and use manual scaling instad of bmesh op
- turns out it's twice as fast to do it manually too
- support opposite face selection via raycast, by invoking the tool with
SHIFT
mod key - unlike in the previous version, scale by moving the mouse in the face plane, not along its normal
- the diection is determined by the initial mouse position in relationg to the face origin
- a line is drawn to visualize this
- this allows flawless scaling in positive and negative directions, even when looking at the face head on, which is more natural than ensuring you look on it in a 3/4 view
- support numeric input in modal
- you can now simply toggle negation using
-
, even if an amount is already typed out
- you can now simply toggle negation using
- toggle merge instead of scale via
ÀLT
key - initiate X, Y or XY axes based on mouse positon on face ring gizmo
- but only for CUBE objects
- support nav passthrough without affecting the scale amount
- support ALT repeat
- but note, what is X or Y direction for one face, may be a different for another face
- support redo panel
- rewrite comepltely and use manual scaling instad of bmesh op
-
PushFace tool
- when sliding, fall back to use the vert normal when no slide edge is found
- when object has mods, temporarily enable show_wire
- test very simple unit support, and only in the redo panel for now
-
TransformCursor
- refactor and simplify
- flesh out and improve HUD some more
- support numeric input
- when pressing BACKSPACE leave only 4 post comma digits standing
- with ALT + BACKSPACE you can remove only the last one
- when the input is marked, you can now press - to negate, which won't clear the entire string anymore
- make angle snapping immediate when pressing CTRL
- draw additional lines when sliding on snapped face or edge
- support nav passthrough
- execept when rotating in interactive mode (so do support it in numeric input mode)
- properly indicate initial cursor origin when dragging via
CTRL - RMB
or from MACHIN3tools cursor pie - show cursor's absolute coords in HUD, toggle via
A
key
-
AddObjectAtCursor tool
- overhaul HUD and statusbar
- in HUD also indicate boolean object if present
- don't apply cast and subd mods for assets that are brought in with the tool
- support numeric input
- at the begining warp mouse into cursor's origin
- this allows us to actually draw out the object size from the the placement origin
- support switching a cube to a plane and a cylinder to a circle using
C
key- and support X and Y axis alignment planes (not possible (or necessary) for cubes)
- support turning Cylinder/Circle into Half/Semi Cylinder/Circle unsing
V
orH
keys- NOTE: for rounded half cylinders, the bevel width will be based on segment count to avoid overshoots
- support toggling cylinder side preset mode via
Q
key to directly adjust them - fully support redoing
- support duplicate catalog entries in Blender's catalog definition files
- fix execption in prettified asset path when non-object asset was selected in asset browser
- fix "floating" curve profiles in surface mode
- fix exception when adding an asset, while nothing is selected in the asset browser, and display a fading warning message
- fix exception when selected asset in asset browser no longer exists on disk
-
AdjustCylinder tool
- tweak HUD a little
- support adjusting circles
- change the keymap from
A
toQ
for switching segment preset mode - support numeric input
- flesh out redo panel a little more
-
AdjustShell tool
- properly init solidify mod's thickness based on min bbox dimensions, but ignoreing 0 dims
- support toggling high quality normals using N, and by default enable it
- support offset cycling between -1, 0 and 1 (inwards, centered, outwards)
- remove Start/End sorting
- with the introduction of HyperMod and having the ability to precisely place a mod anywhere in the stack and make it stick using the - and + prefixes, this is obsolete now
- add precision indicators in HUD and statusbar
- add high quality normals to statusbar
- fix rare view orientation/location dependent precision issues
-
AdjustDisplace tool
- indicate remote object name in HUD, if present
- add precision indicators in HUD and statusbar
- fix rare view orientation/location dependent precision issues
-
MatchSurface tool
- preview hitface by drawing it in VIEW3D
- prevent "self-matching" index face, and give feedback in the HUD accordingly
- support matching face normal only using
ALT
key- this avoids moving the face
- add statusbar info
-
CurveSurface tool
- flesh out the HUD a little more
- give Amount/Depth, Subdivisions and Pinch each a separate line, instead of cramming them all into one line without indication what each number is
- also, be very selective about what keys are allowed to pass through for selection: only MOUSEMOVE and LEFTMOUSE is truly required
- flesh out the HUD a little more
-
FocusProximity tool
- refactor
- flesh out HUD
- support precision mod keys
- ensure clip_start is 0.05 if proximity is 1
- support NDOF navigation passthrough
- draw cursor axes, when cursor is not shown, or when MACHIN3tools doesn't draw the axes already
-
CreateAsset tool
- fix exeption for multi-obj seletions without a single root object
-
AdjustCurveSurfacePoint tool
- fix issue of movement plane not being created properly anymore, as the view_origin was accidentally used for view_dir
-
Blendulate tool
- show gizmo even for NURBS curves, which are supported since 0.9.14 (like in CURVEmachine 1.2)
- adjust zoom factor a little to make adjustment a bit more precise by default
-
SnapRotate tool
- prevent exection when object or cursor is positioned out of the field of view
- draw fading warning about placing the object/cursor in the field of view
-
PointCursor tool
- mention mouse move to pick face/edge in statusbar
- fix exception when aligning Y axis via
ALT
, but not hitting anything with the raycast
-
CastCursor tool
- replace popup message with fading label, if cursor is located outside of the view
-
BevelEdge tool
- fix issue where instanced objects with bevel mods wern't mod sorted
-
CreaseEdge tool
- emphasize selected edges and their crease amount comparerd to unselected creased edges
-
AddPipe tool
- improve and simplify how currently enabled gizmos are temporarliy disabled and then restored again at the end
-
AdjustPipeArc tool
- flesh out HUD to show both Radius and Segments at the same time
-
AdjustPipe tool
- fix rare view orientation/location dependent precision issues
-
SnapRotate tool
- hide and restore gizmos IF and object is rotated
-
PushFace tool
- draw mouse guide line
-
HideWireObjects tool
- avoid hiding empties using and instance collection
-
PickObjectTree tool
- reverse colors for 1st degree an 2nd (and lower) degree children: green for 1st, yellow for the others
- increasinly lower the alpha for lower children, the deeper it goes
-
DuplicateBoolean tool
- fix exeption in Blender 4 due to removal of tool_settings.use_snap_project
-
AddObject pie
- indicate when no asset browser is on the workspace
- indicate when no OBJECT asset is selected
-
HyperCursor HUD
- only show the cursor history 'current / count' when the history buttons are shown too
- or when positioned in a stored cursor history location right now
- also, when in a stored history location right now, draw the current index in green, matching the green circle in the center and the Auto label
- only show the cursor history 'current / count' when the history buttons are shown too
-
Geometry Gizmos
- set face ring and arrow gizmo sizes based on face area
- actually tweened (adustable) between mesh dimension factor and face dimension factor
- provides better gizmo sizes for meshes with varying face sizes
- set face gizmo location based on calc_center_bounds(), not calc_center_median()
- expose edge_tickness and face_tween values to object's gizmo menu
- lower edge thickness to to 0.7 (adjustable)
- increase face ring gizmos a little when highlighting them
- set face ring and arrow gizmo sizes based on face area
-
sidebar panel
- expose clip_start next to focus_proximity in the sidebar panel
- the reset op right next to them affects both
- expose clip_start next to focus_proximity in the sidebar panel
-
addon prefs
- add option to disable mod buttons in Blender's modifier panel
-
add precision indication in HUDs of
- SnapRotate, SlideEdge, CreaseEdge
-
ensure HUDs and gizmos are drawn in active view only
- AddObjectAtCursor, AddPipe, AdjustCylinder, SnapRotate, AdjustPipeArc
- PointCursor, CastCursor
- PushEdge, LoopCut, CreaseEdge
- PushFace, ExtractFace, CurveSurface, AdjustCurveSurfacePoint, MatchSurface
- HyperBevel, HyperMod, HyperBend, EditHyperBevel, PickHyperBevel
- Blendulate
-
completely redo (mouse) cursor warping, region-wrapping, and other mouse position related internal tooling
- TransformCursor, PointCursor, FocusProximity, PickObjectTree, AddObjectAtCursor
- BevelEdge, SlideEdge, CreaseEdge, LoopCut
- PushFace, CurveSurface, AdjustCurveSurfacePoint
- ScaleMesh
- AddPope, AdjustPipe, AdjustPipeArc, AdjustShell, AdjustDisplace, AdjustCylinder
- EditHyperBevel, ExtendHyperBevel, Blendulate, SnapRotate, MatchSurface
- HyperCut, HyperBevel, HyperMod, HyperBend, ExtendHyperBevel
-
delay all handler execution using timer as is done in MACHIN3tools, MESHmachine, DECALmachine and CURVEmachine now
- should hopefully prevent any potential issues with other addons due to recursive depsgraph updates
- also it looks like the asset dropping with HyperCursor taking over right after now works without any issues even with other windows (preferences, 3d view) open
- do MACHIN3tools-style post-asset-drop-cleanup, that skips if MM and DM have that capability on their own (with the next updates)
-
change HyperCursor keymap in Toolbar from H to C
- easier to reach from the left side of the keyboard, and the native Cursor tool already uses spacebar, while C is free
-
fix exception when mod sorting objects without mods
- fix exception when dropping (hyper) asset into scene, while active object was None due to previously deleted object
- fix potential exceptions in operator search menu