Maxivz's Interactive Tools for Blender

2
interpolator
Offline / Send Message
Pinned
maxivz interpolator

About:

This is a collection of intuitive, context sensitive tools to improve productivity that I did to improve my workflow as I transitioned into Blender.
They are designed to be used as hotkeys, removing the amount of interaction with the menus and allowing for a less interrupted modeling experience.
This is the first release, and as expected some bugs will be found, please make sure to report those so they can be fixed.
Future releases will improve functionality as well as stability.
Without much to say I hope you find these tools useful and they help improve your modeling experience.
Download:

https://gumroad.com/l/ynJmIV

Requirements:
These scripts were tested and work with blender 2.8 build 749d53effd58 (8 June 2019).
If this addon is not working please update to the latest version of blender 2.8 first.

Use:
To install the tools go into the Add-ons tab in the preferences panel and click install.

A new window will open, select the location of the addon and click install.

Now search for the plugin and enable it.

Once enabled the tools can be found in the “Maxivz Interactive Tools” on the right side menu in blender.
These tools work better when assigned to hotkeys.

Tools:

Super Smart Create
Connects verts that belong to the same face 
If you select one vert or two verts that share the same edge and are on a border it will invoke f2(make sure you have f2 enabled)

If you select multiple verts that belong to the same face, they will all be connected to the last selected vert.

If you select an edge it will divide it in 2, putting a vert in the middle of the edge
Connects the selected edges if they are part of a ring.
There's still some problems with the selection when two edge rings meet in a corner.
Caps selected borders

Bridges selected edges if possible
When you select 2 adjacent edges it creates a face

Bridges selected polys

If a single face is selected it will try to make quads on it..

This last feature works pretty good if you select a border, run the script to make a face and then run the script again to make quads out of it:

Set Cylindrical Obj Sides

Select the loop in a cylindrical object and run the script to make a copy of the shape with customizable number of sides.

Select the created object again and run the script again to continue editing the number of sides.


Smart Extrude

Inspired by 3ds max shift+drag behavior.
If in object mode it will duplicate the object and move, trying to predict the axis based in the direction you drag from.

If in edge selection mode it will extend and move, trying to predict the axis based in the direction you drag from.

If in vert or face selection mode it will duplicate and move, trying to predict the axis based in the direction you drag from.

If you are in edit mode of a curve, it will extend the curve and move, trying to predict the axis based in the direction you drag from.

Setup a new hotkey for each 3D View tool like this, make sure to disable the default duplicate objects.

Future Updates:
-Improve the axis detection.
-Similar behaviour for rotate and scale.
-Add more modifier keys (snapping, freeform, 2 axis constraint)

Smart Translate
A tool to quickly move objects around, it tries to predict the axis of the movement based on mouse movement.
It's pretty simple for now and only works when assigned to the middle mouse button, a setting for this will be made in the next update.

Future Updates:
-Improve the axis detection.
-Similar behaviour for rotate and scale.
-Add more modifier keys (snapping, freeform, 2 axis constraint)
-Being able to bind it to more than the middle mouse button.

Smart Loop:
If two continuous edges or one edge is selected, the edge loop is going to be selected

If two edges are selected, it's going to get the edge loop between them.

If three edges are selected, and they have the same space between them a step selection will be made.

These modes work with multiple selections at the same time:

Support for vertex and face mode is limited, but some modes work.
Future Updates:
-Loop selection algorithm improvements.
-Performance improvements to reduce slowdowns.
-Better vertex and face mode support

Smart Ring:
If two continuous edges or one edge is selected, the edge ring is going to be selected.
If two edges are selected, it's going to get the edge ring between them
If three edges are selected, and they have the same space between them a step selection will be made.
These modes work with multiple selections at the same time:

Support for vertex and face mode is limited, but some modes work.

Future Updates:
Ring selection algorithm improvements.
-Performance improvements to reduce slowdowns.
-Better vertex and face mode support

Quick FFD/Lattice
Simple, quick lattice tool that works with one hotkey.
Make a selection and run the tool. A lattice will be created and try to fit the selection. Only the selected area is affected by the lattice.

If you select the object and a lattice already exists the existing lattice will be selected.

If you select the lattice and run the script the lattice will be applied and the object will be selected. The original selection is selected.

Future Improvements:
Change FFD presets (3x3x3 and 4x4x4).
Better support for rotations.

Quick Radial Symmetry
Select an object and run the script a radial symmetry will be created using the object's pivot point as the center point.
Move the mouse to the left and the right the amount of iterations will increase and decrease.
Control + mouse movement to change the symmetry axis.

Select an object that already had radial symmetry to continue editing it.

Unhide the Symmetry Pivot and move it around to further modify the radial symmetry.



Quick Pivot

Centers the pivot on selection for vert, edge and face mode.

Works as well for object mode, centering the pivot on the object.

Quick Edit Pivot

Select an object and run the script, a helper will be made, you can move this helper to your desired pivot position.

If you select the object and run the script, but a helper already existed in the scene the helper will be selected.

Run the script again with the helper selected to move the pivot point of the object to the position of the helper. The helper will be deleted.


Quick Delete

If you select a vert the vert will be deleted with all the connected faces.

If you select an edge the edge will be dissolved.

If you select a border the border and the connected faces will be deleted.

If you select a face the face will be deleted.

If you select an object, the object will be deleted.

Quick Vert Mode
If you are in object mode it will switch to vert selection mode.
If you are in face or edge mode it will switch to vert mode.
If you are in vertex selection mode it will switch to object mode.
If the selected object is a curve, and you are in object mode it will switch to edit mode
If you are in the curve edit mode it will switch to object mode

Quick Edge Mode
If you are in object mode it will switch to edge selection mode.
If you are in vert or face mode it will switch to edge mode.
If you are in edge selection mode it will switch to object mode.
If the selected object is a curve, and you are in object mode it will switch to edit mode.
If you are in the curve edit mode it will switch to object mode.

Quick Face Mode
If you are in object mode it will switch to face selection mode.
If you are in vert or edge mode it will switch to face mode.
If you are in face selection mode it will switch to object mode.
If the selected object is a curve, and you are in object mode it will switch to edit mode.
If you are in the curve edit mode it will switch to object mode.

CS Bevel
If vert mode is selected it will execute the vertex chamfering tool.

If the edge mode it selected it will execute the edge bevel tool.
If the face mode is selected it will execute the extrude faces tool. This replicates 3ds Max face bevel behaviour.

CS Slide
Simple context sensitive slide:
  • If you are in vert mode it will execute vert slide.
  • If you are in edge mode it will execute edge slide.
Modifier Toggle
Toggles on and off all the modifiers of the selected object.

Wireframe Toggle

Toggles the wireframe rendering on and off.

Wire Shaded Toggle

Toggles between the shaded and the wireframe mode.

Target Weld Toggle

Toggles between vert snap and auto merge on and off.
Recreates 3ds max target weld behaviour by activating the tool and moving the verts you want to merge to the vert you want to merge to.

UV Rotate 90 pos

Rotates the UV selection 90 degrees.

UV Rotate 90 neg

Rotates the UV selection -90 degrees

Replies

  • musashidan
    Offline / Send Message
    musashidan insane polycounter
    Justo said:
    @musashidan What is it from the swiftloop tool that you miss so much Dan? Being able to shift+LMB to add edges with edge flow? 
    Not just that, but the fact that it is so fast and freeform to use......clickclickclick.....so fast!! I find Blender's Loopcut and slide a real pain in comparison: hotkey to activate....click and drag to place....click to confirm... AND it always starts from the centre of the edge which can be annoying when the edge centre is offscreen.
  • Justo
    Offline / Send Message
    Justo interpolator
    I haven't spent as much time with Blender as you of course, but so far I'm really digging the tool myself. There's only one extra click in the operation when compared with Max, and being able to scroll the mousewheel to increase the loop count with a real-time preview is simply a delight...

    The fact that it snaps to the center is super useful too for hard-surface work...The one feature Max has over this that I miss is the set flow functionality (but not really, because I would only use that in very very specific cases), but hey, if ppl out there are willing to port the tool then sure, why not.

    random note as I'm working in blender atm: something that consistently trips me over about the SuperSmartCreate tool is that it'll switch subobject modes during certain operations, namely filling holes (from edge mode to face mode). I keep selecting edges as I'm not done with my operations, only to find out I'm selecting faces instead. It's annoying since the Maya and Max version of this tool kept things in edge mode and my brain is still wired like that haha. Anyway, not a complaint or request, I'll probably add a code-line myself to change this for myself, but I just wanted to share my experiences using this.
  • musashidan
    Offline / Send Message
    musashidan insane polycounter
    Yes, loopcut and slide is great for what it does, but for adding loops quickly it isn't. It would be a lot better if it featured a modifier key to enable SL-like functionality.

    There's 2 extra clicks. Swiftloop is just a single click, LC+S is 3 if you include the hotkey(I never use the tools in the T panel) Also, SL is active until you cancel it. With LC+S(non-active tool version) you have to keep starting the tool up again after every operation.

    Wheel+scroll for loop count is something I'm already used to in Max with Keyhydra WheelCtrl version of Max's Connect tool. :D


  • Justo
    Offline / Send Message
    Justo interpolator
    Swift loop is a single click after activating the tool. LC is two clicks after activating the tool. Thus, only one extra click.

    I won't argue the slide stuff is annoying though!  Putting it in a modifier key would be cool. Ah, Keyhydra...must be nice, there seems to be tons of must-have tools in that thing...

    more random notes:
    -i miss being able to change the profile of my bevels in realtime with the CS Bevel tool like in Max, that was an amazingly convenient tool...Maybe consider doing this one if you do so too Maxi.
    -same for the interactive shell modifier. Here it's the Solidify modifier, but if we were able to create it while being able to define the thickness with mousewheel or whatever screenspace mouse drag, that would be pure joy.
  • musashidan
    Offline / Send Message
    musashidan insane polycounter
    Yeah, as I said, I never use the active tools so LC+S is 3 for me. I just don't like that the active tools can only be exited by selecting another tool.

    Keyhydra is the closest thing we have in Max to Blender's live modifier key concept.

    Hardops modifiers are hotkey based and live. You can apply Solidify and adjust the thickness by dragging the mouse. Bevel modfier is also live and all settings can be changed with modifier keys. This is also true of other addons like Speedflow and Fluent/etc.
  • musashidan
    Offline / Send Message
    musashidan insane polycounter
    An idea for a very useful tool that would mimic Max's Placement tool. The Blender routine for doing this is:

    1 - set pivot of object(usually the very bottom centre)
    2 - set snaps to verts or faces
    3 - enable 'align rotation to target'
    4 - turn on snaps(or hold Ctrl when moving)
    5 - press G

    An automated tool that does all this would be great. Maybe you hit the 'Placement Tool'(name pending.... :D ) button or hotkey and it automatically goes into Grab mode with all the above settings taken care of(including auto-setting pivot to bottom) except maybe snap, which we could then activate as normal using Ctrl.
  • Justo
    Offline / Send Message
    Justo interpolator
    Hey guys, there's a new version of the tools in the Github uploaded by Maxi a few days ago. He fixed the sticky selection keys error, in case anyone was holding out on that. If I come across moar errors I'll post em.

    I'll also use this chance to annoy Maxi and tell im to finish dem juicy juicy smart translate and smart extrude tools. :P withpossiblyascaletoolvariant

    edit: it's nothing that will affect the functionality of the tool, but the bl_label of the edge sticky selection is "Quick Selection Edge, stores previous selection", where you might prefer to follow the naming convention you used for the other two and say "Quick Selection Edge Sticky". Just a minor thing!

  • maxivz
    Offline / Send Message
    maxivz interpolator
    musashidan: Glad you are liking the changes! I tried the transform cycle and it works fine for me in both object and edit mode, have you tried it with the latest release candiadtes?

    @Justo: I suggest deleting the old version and replacing it with a new version whenever you are updating, just to avoid any possible bugs. 

    quockhanhlk Hope you enjoy them!

    PolyHertz Thanks, glad you are enjoying the tools and more than happy to see you jump into the blender scripting, really looking forward to see what you do!

    I have fixed some bugs reported by Justo with the sticky selection, icluding the just reported name convention one :P
    And thanks for the ideas, keep em coming!
    I am finally working on trying to get the preferences up and running, might take quite a while but I will let you guys know when I have a new version up :)
  • Justo
    Offline / Send Message
    Justo interpolator
    Amazing scripts Maxi :) Really making working in Blender a lot faster. Here are some notes from today's 2-3 hours...

    0-
    Maybe I am not understanding something correctly, but Super Smart Create gives strange results sometimes with simple operations: selecting two vertices for example seems to connect other vertices elsewhere in my mesh:

    Executing Blender default stuff, like Connect Vertex Path, gives the same result, which leads me to believe its not something the SSC script is responsible for...Attached to this post I'm sending the scene containing the mesh, if anyone is willing to test this.


    Bugs so far: 
    1-Getting some hardcore Blender crashes when switching super fast between sticky selection modes. Happens once every 20 minutes more or less. No errors, nada. Blender just goes "see ya!" and closes on me. First time this has ever happened with scripts. 

    2-Sticky (and non-sticky) selection modes cause errors when used with lattices. This fortunately doesnt seem to cause major issues though, because after the error log dissappears, the scripts seem to work as expected.
    To reproduce this: in Edit mode, I am executing the Quick Lattice with a selection of subobjects. The lattice is created, applied, and automatically in Edit mode for you to pull lattice points. If you go into Object Mode though, and come back to Edit Mode by hitting any of the sticky or nonsticky selection modes, error pops up:


    Maybe its something these selection mode scripts were never really supposed to be used this way for, but since it does work fine, it'd be cool if this error-case could be dealt with somehow. 

    3-Random errors during quick switching with the sticky subobject modes:
    Haven't figured why or how exactly this one pops up...I am deleting edges, creating cuts with the knife tool, deleting faces, fillings holes...and all of a sudden this pops up when I execute the scripts:


    Personal wishlist/ideas for CS Bevel:
    -Adding toggle keys to the CS Bevel to execute different options (I think MeshMachine works somewhat like this). For example, while executing it to inset faces, hit a key so that the "Individual" checkbox is turned on, and faces inset separately. Of course, if there's a plaugin out there that already does this in a CS-Bevel-like feature, I'm allllll ears. 
  • Michael Knubben


    These two faces aren't actually connected, which is why it takes 'the long way round'
    This is also the problem with the bevel modifier you talked about in the Blender thread, I assume.
    Another thing to be mindful of: Blender allows for geometry that 3dsmax's Edit Poly (the default) doesn't, such as this cube which has a triangle inside of it, connected to the outside.

    As for ways to spot this stuff: I'm personally still on 2.79, partially because of Mesh Check, an addon that visualises stuff like ngons, tris, open edges, non-manifold mesh elements...

    edit: this might even be a better example. Here I selected two verts, but instead of connecting them I pressed 'F' and made a new edge. The underlying quad is still intact (and not divided into two tris, as you might expect), but now there's also a single edge there.
    If I turn the bottom faces into a divided quad and an Ngon, this is what that looks like:
    The green edge signifies non-manifold geometry, yellow's for tris, and red had one of its edges subdivided so it's now an Ngon.



  • brainchildpl
    Offline / Send Message
    brainchildpl polycounter lvl 2
    Is there any plugin or a  "moded" blender 2.8 version with faster Edit Mode? Edit mode in 2.8 is horribly slow. Anything more than 1-2m poly and is it impossible to do anything. In zbrush I can have 40mln poly and it is smoooth.
  • musashidan
    Offline / Send Message
    musashidan insane polycounter
    Is there any plugin or a  "moded" blender 2.8 version with faster Edit Mode? Edit mode in 2.8 is horribly slow. Anything more than 1-2m poly and is it impossible to do anything. In zbrush I can have 40mln poly and it is smoooth.
    No. Why would you expect Blender to deal with millions of polys as well as Zbrush? Zbrush was built with a specific purpose of utilising millions of vertices in a 2.5D canvas environment, at a time when 32bit systems with 2 cores and 2 gigs of ram were the norm. There can be no comparison.
  • Justo
    Offline / Send Message
    Justo interpolator
    Haha, I love it. You even included options to not dissolve edges and un-highlight faces in other modes (oh and ops like fill hole in SSC dont switch modes now? now this is podracing ey). You're spoiling me and I love you for that. Will save me quite a lot of trouble of re-adding those lines each time I downloaded your stuff.

    I'll post here bugs as I see them:

    1-Smart Delete gives error when deleting (at least) rings of edges. To reproduce this, create a sphere, select any edge, execute Smart Ring, execute Smart Delete.
     

    2-Big new error with the SSC tool? Now connecting seems to be broken? If I select a ring of edges and connect, it will: for some reason end up selecting something else, and create vertices at the middle point of the originally selected edges, instead of just connecting them. I love the create vertex at middle of the edge functionality btw, but I think this is not the intended case scenario where it should be activated, no?  Edit: seems to be fixed now


    Muh tidiness notes:
    -In the addon General Settings, typo in 'Selection Hilight Faces'. Should be spelled 'Selection Highlight Faces' (and its description)
  • Justo
    Offline / Send Message
    Justo interpolator
    This week's observations:

    3-The SSC tool only cut-connects vertices at certain, flatter angles, whereas it would be a great improvement if it always connected regardless of distances. Unlike its Max version, where it'll connect even 90deg vertices like this...

    In Blender some angles just don't seem to work, unless I am misunderstanding the use of the tool. Sometimes it'll even connect unselected vertices!


    4-Having Auto-merge enabled in the Move tool disables the use of Smart Extrude. It would be nice if the script ignored AutoMerge, or at least automatically turned it off before executing if Automerge happens to be on at the time. 

  • maxivz
    Offline / Send Message
    maxivz interpolator
    Hey guys, hows it going? Its been a while I hope you are all doing great.
    Sorry for the lack of updates, I got a bit sidetracked with other projects but I finally got around to fix a couple of bugs that have been annoying me for some time and I added some extra features as I was doing that.
    Give it a try and let me know if you find any issues!

    Changelog:

    Quick Align: 
    -Fixed bug where quick align kept the target mesh selected after running

    Quick Lattice:
    - Fixed bug with quick lattice not deleting old lattice vertex groups
    - Fixed bug that didn't allow the lattice to align to the mesh when the tool was run in object mode

    Wire/Shaded toggle:
    -Now remembers what mode was used before switching to wireframe instead of always switching between Solid and wireframe shade mode

    Transform Orientation Cycle:
    -Cycles between the transform orientation modes

    Quick Transform Orientation:
    -If a face, vert or edge is selected it will create a custom transform called “Custom”.
    -If Nothing is selected it will switch to the last used standard orientation.


    Download link:

    https://github.com/maxivz/interactivetoolsblender

  • maxivz
    Offline / Send Message
    maxivz interpolator
    Time for another update! A new tool, new context menus and some more bug fixing :)

    Hilights:

    Quick Hp Lp Namer

    Finds the lowest poly mesh in the selection and adds the low poly suffix to it, then proceeds to name all the high poly meshes with the low poly name adding the high poly prefix.

    The prefix for the low and high poly mesh can be changed in the plugin settings.

    New Context Menus

    Added entries for the context Menus for Edit Mesh Mode, Object Mode, Uv Mode and Lattice


    Changelog:


    Transform mode cycle:

    -Fixed bug where the tool wouldn't work if using the Move, Rotate of Scale active tools


    Radial Symmetry

    -Option to hide Radial Symmetry pivot


    Quick Lattice:

    -Add Presets to lattice right click menu

    -Option to apply


    Quick Hp Lp Namer:

    -Implemented Tool


    Misc:
    -Added Seams From Islands to the UV Utilities menu for easier access

    -Added entries for the context Menus for Edit Mesh Mode, Object Mode, Uv Mode and Lattice

    -Fixed warnings when loading the plugin


    Download link:

    https://github.com/maxivz/interactivetoolsblender

  • Justo
    Offline / Send Message
    Justo interpolator
    Happy to see that you're adding more useful things to this set Maxi :) What are your thoughts regarding my previous post's comment on the SSC tool? Do you think it's possible to address those situations?
  • maxivz
    Offline / Send Message
    maxivz interpolator
    Hey @Justo ! I have been thinking about how to fix that issue with the connect tool in ssc but since im using blenders implementation for connecting I am not really sure how I could fix it for now, but I will keep thinking of a way to do it :)

  • Justo
    Offline / Send Message
    Justo interpolator
    Justo said:

    2-
    Sticky (and non-sticky) selection modes cause errors when used with lattices. This fortunately doesnt seem to cause major issues though, because after the error log dissappears, the scripts seem to work as expected.

    Fixed this myself today. It might not be the most elegant way of writing it, but it gets the job done AFAIK. If anyone wants the selection mode scripts to play nice, like say, use the vertex mode to get into the Lattice's edit mode to edit points without triggering error popups, open up mesh_modes.py and paste the following:

    class QuickSelectionVert(bpy.types.Operator):
        bl_idname = "mesh.quick_selection_vert"
        bl_label = "Quick Selection Vert"
        bl_description = "Set selection modes quickly"
        bl_options = {'REGISTER', 'UNDO'}
    
        def execute(self, context):
            if context.active_object.type == 'LATTICE':
                bpy.ops.object.editmode_toggle()
            else:
                quick_selection('VERT', safe_mode=True)
            return {'FINISHED'}


    I really wish the Smart Extrude's original roadplan could be completed (snapping, freeform, 2 axis constraint, scale tool support)...I understand Maxi has other priorities though. Hopefully someday I'll know enough to also be able to do it myself. 

2
Sign In or Register to comment.