Interactive Tools for Blender 2.8

I noticed an issue with Smart Loop/Ring, it crashes Blender if part of the mesh is hidden.

1 Like

Heyho, would be cool if the quick set vert/edge/face also work with greace pencil(edit mode) at the moment you getting an error:

image

2 Likes

Hey guys! Its been a while but heres a new update that I have been working on for a while.
As with any new update please let me know if you run into any bugs, specially since this a bigger one than usual.
A documentation update will follow soon™ :smiley:

Changelist and New Features

Super Smart Create:
-Revamped Object Creation Pie:
-Allows selection between qblocker and normal objects
-Added camera, light and gpencil and empties

Quick Pipe:
-First implementation, makes a quick pipe from the selected edges
-Mouse left/Right changes size of pipe

Transform Orientation Pies:
Pie menu for pivot orientation, stores 3 custom pivot orientations

Snap Presets Pie:
First Implementation, adds 4 snapping presets that are commonly used while modeling

Prop Edit Pie:
Control proportional editing settings from this pie.

Smart Modify Pie:
Context sensitive pie, that brings up relevant tools based on the context.
Object Mode:

Edit Mesh Mode:

Lattice Mode:

Curve Mode:

UV Mode(Requires textools):

Transform:
-Added CS Move, CS Rotate and CS Scale

CS Move
-When executed if you are in a different transform mode it will bring up the respective gizmo.
-If you are in the move transform mode it will execute the grab tool.

CS Rotate
-When executed if you are in a different transform mode it will bring up the respective gizmo.
-If you are in the move transform mode it will execute the gizmoless rotate tool.

CS Scale
-When executed if you are in a different transform mode it will bring up the respective gizmo.
-If you are in the move transform mode it will execute the resize tool.

Radial Symmetry:
-Fixed another Bug that caused the symmetry to be misaligned

Quick Selection:
-It now works with Lattices and Grease Pencil objects

Edit Origin:
-For version 2.82 and up it now uses the default blender origin edition tool, which supports rotation and does not create an empty
-If you are in edit mode it will now switch to object mode before editing the origin

Smart Extrude:
-A new version of this tool is available. The old version was renamed Smart Extrude Legacy and can be accessed if enabled in the Preferences.
-The new version uses blender default translation tools, enabling snapping and precise axis control.
-It remembers what transform tool you were using and executes it after doing the extrude. So it now works with Movement, Rotation and Scale.
-Contexts work as they used to:
-If in object mode it will duplicate the object and transform.
-If in edge selection mode it will extend and transform
-If in vert or face selection mode it will duplicate and transform
-If you are in edit mode of a curve, it will extend the curve and transform
-Setup for executing the tool with shift+drag.

Side Panel:
-The SidePanel has been updated with the new tools.

Smart Extrude Legacy & Smart Translate Legacy:
-These Tools are now considered Legacy tools and are no longer in development. You can still access them by enabling the legacy tools in the preferences.

Preferences:
-Added TexTools integration
-Added links to recommended addons
-Added Beta tag to keymap settings section, as its still in development and has bugs atm
-Add option to enable legacy origin edit mode in versions 2.82 and newer
-Add Option to Enable Legacy Tools

Download link:

Dogway Glad you like them! How did you fix the keymaps issue? I have been trying to fix that for a long time and so far I havent been able to

As for Smart Loop/Ring crashing I will take a look at it.

teckcloudThanks!. Thats the expected behaivour, step selection is based on the number of edges on the loop, so if the number of loops is not divisible by 2 it will continue step selecting until it eventually selects the whole loop.

Shiv0r Fixed! :slight_smile:

Please keep reporting any bugs you run into and enjoy the new update!

10 Likes

Hey thanks for the fast fix, but i think i wasn’t quite clear what I mean.

If you go to greace pencil there is also a edit mode and you have 3 selection types like in the generall edit mode:

image

I think it would make sense if the buttom/keymap would lead you to the same area for consistency.

Hello. Is there any code that will temporarily disable the display of axes during transformation?

I used 3D View as context for Edit Mode operators instead of Mesh. This is fine as Blender has similar Mesh based operators in that context, just add a proper poll definition. Also dealing with keymap clashes if there’s any by disabling them from the addon. Still I had issues with C and Shift+X keymaps in Edit Mode those need to be dealt manually.
Some links of interest:

https://devtalk.blender.org/t/changing-keymap-on-startup/7153/4
https://devtalk.blender.org/t/finding-out-keymap-bindings-at-register-in-2-80/9496
https://devtalk.blender.org/t/what-is-the-proper-way-to-disable-keymap-items-in-the-user-keyconfig-via-addon/6451
I have a problem with my keymaps - #2 by iceythe

1 Like

Is it possible to realize the choice of axes depending on the position of the virtual camera when transforming an object? Such a system is implemented in modo

Can You add to “Transform Mode Cycle” option to hide gizmo after scale?
Translate, Rotate, Scale, Hide gizmo…

Is it possible to realize move, rotation, scaling along two axes depending on the position of the virtual camera (as in Modo)? And to transform along one axis hold the key, for example - CTRL. This is very convenient, especially on a tablet.

I downloaded this from Gumroad but I don’t have the selection cycle ui etc I just have a much smaller panel

Anyone else having issues with the wireframe/shaded toggle getting stuck in a weird state and not working? I can often fix it by going to the Layout tab and running the command, and then going back to the Modeling tab.

This is the error I get:

I’m on the latest version, but would run into this fairly frequently in the older version as well.

edit - Not sure if this helps, but this seems to happen on a per object basis, even when all objects have the same Viewport Display properties (nothing is out of sync there).

1 Like

I’ve had mine get stuck but wasn’t sure why. Maybe it’s from this addon, but not sure. I use another addon also called wireframe on selected. So who knows what happens exactly on my end.

Figured out where the errors come from:

image

This custom property is not being set on some meshes, but only in my Modeling tab. Running the command in other tabs fixes it and allows it to work in the Modeling tab again.

FIX - Duping another tab and working in there seems to temporarily fix it. Comes back later though :confused:

1 Like

Hi, I’m looking into your smart tools now. Trying to transition from Modo and there are some very cool stuff here. I’m interested if there is a way for bridge option to add the number of segments? When dealing with polygons it preserves the angle the starting faces had by creating an arch. I use that a lot so naturally I’m asking.
Thanks

2020-05-10 20-32-41.mkv (2.6 MB)

Unless I’m wrong, I think CS Bevel is not working with 2.9

1 Like

Hello,
I think in 2.90 something was changed in API.
When I trying to apply Quick Lattice

Traceback (most recent call last):
  File "C:\Users\APEC\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\Maxivzs Interactive Tools\op\quick_lattice.py", line 160, in execute
    self.apply_lattice(context, selection)
  File "C:\Users\APEC\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\Maxivzs Interactive Tools\op\quick_lattice.py", line 118, in apply_lattice
    bpy.ops.object.modifier_apply(apply_as='DATA', modifier="Lattice")
  File "D:\!Portable Programs\blender-2.90.0-windows64\2.90\scripts\modules\bpy\ops.py", line 201, in __call__
    ret = op_call(self.idname_py(), None, kw)
TypeError: Converting py args to operator properties: : keyword "apply_as" unrecognized

location: <unknown location>:-1
1 Like

Hello! Its been a long time since I last updated the addon but now that 2.9 released im working on a new update to add 2.9 compativility, a couple of new features and more bug fixes.

@Shiv0r Ill look into adding that behaivour or the current one as an option in the preferences :slight_smile:
@Xmaiter Theres no functionality to disable the axis during transform at the moment. When it comes to automatic axis detection it should be possible, the legacy tools have a similar functionality to what you descrive but ultimatelly I ended up discarting them as it prooved to be a very complex task and I didnt have much time to work on it. It would be great to know if theres any other addon that does this as I would love to use such a system, but I dont intend to develop it at the moment.
@Dogway Ill take another look at it, thanks for the links and info!
@Pinhead Ill look into adding the option to the preferences
@Gregg_Hartley The gumroad version has been outdated for a while, to get the newest release please to go github. I will update gumroad with the next version release.
@realeyez Ill look into that bug, thanks for reporting!
@Frostensen Hello! Im not planning to build that tool, but try the bridge tool in Looptools, it might have a similar functionality to what you are looking for.
@Colacuve Ill fix that for the next release, thanks for reporting!
@APEC Thanks for the report, Ill fix it!

Please let me know if anything else broke in 2.9, I expect most of the tools that used modifiers to not be working at the moment

4 Likes

as I can see, they change API in 2.90 and remove apply_as='DATA', in bpy.ops.object.modifier_apply(apply_as='DATA', modifier="Lattice")
so now correct should be just
bpy.ops.object.modifier_apply(modifier="Lattice") in \addons\Maxivzs Interactive Tools\op\quick_lattice.py", line 118

Added:
It works now, BUT when you applied Quick Lattice and hit Ctrl+Z (Undo) - this causes blender to crash with no error window.
blender.crash.txt (20.6 KB)

1 Like

Thanks for the report! Can you try replacing the apply_lattice function with this?

def apply_lattice(self, context, lattice):

        if context.mode == 'EDIT_MESH':

            bpy.ops.object.editmode_toggle()

        obj = bpy.data.objects[lattice.name[:-8]]

        bpy.data.objects[lattice.name].select_set(False)

        bpy.data.objects[obj.name].select_set(True)

        bpy.context.view_layer.objects.active = obj

        #Fix for blender 2.90

        version =  bpy.app.version_string[:4]

        if float(version) >= 2.90:

            bpy.ops.object.modifier_apply(modifier="Lattice")

        else:

            bpy.ops.object.modifier_apply(apply_as='DATA', modifier="Lattice")

        # Delete vertex group

        vg = obj.vertex_groups.get("lattice_group")

        if vg is not None:

            obj.vertex_groups.remove(vg)

        # Delete lattice

        bpy.data.objects[obj.name].select_set(False)

        bpy.data.objects.remove(bpy.data.objects[lattice.name])

        bpy.data.objects[obj.name].select_set(True)

        bpy.ops.object.mode_set(mode='EDIT')
2 Likes

Thanks. This works without crash after undo now!

1 Like