Pie Menu Editor 1.18.7

Hmm, I can’t reproduce this issue anymore. Please try to update Blender. It seems that the issue is already fixed.

After deleting the toolbar menus from the .json file, flickering stops and terminal is ok.
Most likely, toolbars cause these problems. At least for me.
I send You my json file with this problematic toolbars menus. You can check ii if You want.
I use today Blender build.

Since the Vertex Tools are not available for 2.8 I was trying to somehow replicate the tool where you select some vertices and they get lined up like so:
image

The difference between my way and the way vertex tools handled it is that my first and last vertex also get transformed which I don’t want.

Does anyone have a way to achieve this?

With my method you would have to select the first and last vertex and then these 3 items in a macro would execute:
bpy.ops.transform.create_orientation(use=True, overwrite=True)
bpy.ops.mesh.shortest_path_select()
exec(bpy.ops.transform.resize(value=(0.0, 1.0, 0.0), constraint_axis=[True, False, False]))

any help is really appreciated :slight_smile:
StraightLine.json (744 Bytes)

Pie Menu Editor 1.15.18 fix 1


@Way2Close, @Pinhead, thanks guys. Found the issue.
Here is the fix. Will release it tomorrow.

Extract files to scripts/addons/pie_menu_editor folder and restart Blender.

2 Likes

Superb! I enable toolbars and for now is ok. No problems in viewport or terminal!
Thank you roaoao! Always glad to help!

You can snap 3D Cursor to selected verts and use it as a pivot point:

bpy.ops.view3d.snap_cursor_to_selected()
bpy.context.tool_settings.transform_pivot_point = 'CURSOR'
bpy.ops.transform.create_orientation(use=True, overwrite=True)
bpy.ops.mesh.shortest_path_select()
exec(bpy.ops.transform.resize(value=(0.0, 1.0, 0.0), constraint_axis=[True, False, False]))
2 Likes

genius :smiley:

many thanks, roaoao!

OMG! Genius indeed! This is a great time saver!
If this is also possible i will be so happy:

Is possible to align selected points to the last selected vertex on any axis?
Like on this example but wit one click?

It is possible after align to set the Transform Orientation back to Global?

Sure:

bpy.ops.view3d.snap_cursor_to_selected()
pp = bpy.context.tool_settings.transform_pivot_point
bpy.context.tool_settings.transform_pivot_point = 'CURSOR'
bpy.ops.transform.create_orientation(use=True, overwrite=True)
bpy.ops.mesh.shortest_path_select()
exec(bpy.ops.transform.resize(value=(0.0, 1.0, 0.0), constraint_axis=[True, False, False]))
bpy.context.tool_settings.transform_pivot_point = pp

Every line is the command in macro operator? If so it dont work for me.

try a macro operator with each line as a new item.

edit: oh i see - its changing the transform…

Alright … one last thing and I have everything I need like I had in 2.7 :grinning:

I don’t know how complex I can go without using an external script but what I need is a SubD modifier toggle.
What I was able to produce was a toggle that works on the active object with the first SubD modifier.
What I need is a toggle that works on MULTIPLE SubD modifiers and on ALL SELECTED objects.

Is this something that is possible in PME or do I have to use an external script?

I attached the old 2.7 script btw.subsurf_toggle.py (2.0 KB)

If anyone has something like this working please share :slight_smile:

Check this:

Heavypoly have this script in his config

I recommend typing out a script file and using PME to execute them. It’s an easy way of getting into python. This one toggles based on selection and supports multi-object toggling.

from bpy import context
mode = context.mode

if 'OBJECT' in mode:
    objs = context.selected_objects
elif 'EDIT_MESH' in mode:
    uniques = context.objects_in_mode_unique_data
    objs = [o for o in uniques if o.data.total_vert_sel]

mods = [m for o in objs for m in o.modifiers if 'SUBSURF' in m.type]

if mods:
    for idx, mod in enumerate(mods):
        if idx is 0:
            toggle = mod.show_viewport
        mod.show_viewport = not toggle

If you prefer a one-liner for easy drop in PME (these are terrible to read):

S = C.selected_objects if 'OBJ' in C.mode else [o for o in C.objects_in_mode_unique_data if o.data.total_vert_sel]; M = [m for o in S for m in o.modifiers if 'SURF' in m.type]; tgl = M[0].show_viewport if M else None; [setattr(m, 'show_viewport', not tgl) for m in M]
2 Likes

Many thanks for the script iceythe!!

I prefer to have everyting inside of PME because it is all in one place and also i don’t need to restart blender if change the script.
Also I think it is Blender Version independent … not sure, but I don’t have to update stuff like “register/unregister” for example because I don’t have those lines.

Anyway … thanks you so much again! :slight_smile:

Pie Menu Editor 1.15.19


What’s New:

  • Bug Fixes

How to Update:

  • Backup your pie menus using Export button (optional).
  • Open User Preferences.
  • Go to the Add-Ons tab.
  • Click Install Add-on from File button, navigate to the file you downloaded and install it.
  • Restart Blender.
4 Likes

Selecting and the “drag treshold” setting is driving me crazy.
It is not possible to quickly select vertices/edges/faces because you automatically drag the mouse if you want to select fast. So you have to increase the drag treshold.
But if you turn up the treshold you have to move the mouse way to far before “dragging” happens.

So I created a Sticky key and put this on press:

C.preferences.inputs.drag_threshold = 99 ; bpy.ops.view3d.select(toggle=True)

and this on release:

C.preferences.inputs.drag_threshold = 3

This way I was hoping to increase the threshold while selecting and afterwards directly set it back to 3.
But guess what … my extremely skilled scripting skills couldn’t make it work. :wink:

Does anyone have a clue why this is not working?

I found an easier solution.
In case anyone needs it, here is what I added to the regular hotkey editor.

Also I set the drag threshold to maximum and the double click value to minimum.
Like this I can select as fast I want and tweak by holding y-LMB

Thank you so much :smiley: