Pie Menu Editor 1.18.7

Yes, it’s ok.

Not sure but try this instead to redraw whole window:

bpy.ops.sculpt.dynamic_topology_toggle('INVOKE_DEFAULT', True); tag_redraw()

Ah, yes that updates the tickbox in Blenders menu but in PME it’s stationary regardless of the state in Blender… now this is just a visual thing, Dyntopo works regardless of the state but needing to glance in Blender to see wether it’s off or on makes it a little confusing when sculpting

EDIT: My bad :D… the tickbox i used is the “ticked” tickbox icon… But i remembered you wiggled the magic wand in 2.79 and got this working for me?

I tried with 1.15.16 but it don’t work

Dyntopo toggle? or the error i had?

hello i tray to replicate the 2.79 layer box functionality in 2.8
i al ready get this

bpy.ops.object.hide_collection(collection_index=1)

in a panel button which toggle layer visibility. But also add or remove from visibility when holding shift (suppose is because that command have it built in somehow)

de remaining functionality i´m looking for is :
1 icon toggle like check box if the layer is visible or not
2 smaller icon if it is possible
i read the forum looking for this and find dis shod be similar to this sample you give

L.prop(props(), "Property", slot, icon='COLOR_GREEN' if props("Property") else 'COLOR_RED')

but i don´t have programing skills so not able to fain and check the variables to check if the corresponding collection is visible or not

p: i check the forum looking for solution and i do no find But!
i find how Dedicate you are to this… Thank You so Much :slight_smile:

Hi, @Sebastian_cg

  1. afaik it’s impossible. bpy.ops.object.hide_collection operator uses internal layer visibility data which is not available for add-ons
  2. no it’s impossible

You can add an EnumProperty in PME for this tool.
Here is an example (download and import): layers_property.json

LayersProperty Getter:

ls = locals(); ls.update(ret=0); [ls.update(ret=ls["ret"] | 1 << i) for i, col in enumerate(C.scene.collection.children) if not col.hide_viewport]; return ls["ret"]

LayersProperty Setter:

[setattr(col, "hide_viewport", not value & 1 << i) for i, col in enumerate(C.scene.collection.children)]

To use this Property in Custom tab use this code:

c = L.column(align=True); [c.prop_enum(props(), "LayersProperty", str(i + 1), text=col.name) for i, col in enumerate(C.scene.collection.children)]

Thanks You so Much :slightly_smiling_face:
the solution you provide allows me to get visual feed back and work just fine.
I take the property you create an put it in the Menu of a popup dialog getting this


Grate but steal a disadvantage from blender 2.79 and it should not be so i design this
Colection%20Quick%20system%20
A: add a second row of properties
B: Nice to have a separator in between
C: A selector for the Parent Layer, this parent layer contains the layers of the squares below. So the getter should call the children layer of the selected one
D: A search for layer, to set it as parent
E: a tool i call “quick view” let you set the last collection view configuration in other words undo it. bot just 1 time and no possibility to redo
F: when you un-hide a collection using the provide script also un-hide children layers ignoring if this ones where hide or un-hide. Wold be nice if not just set as visible every child layer but also preserve hide what was hide

this items are prioritized base on Doable and Usage Improvement
Please Roaoao i will appreciate your help no matter how much do
also this are some others

Why to do this
the problem
well the lack of layers to properly sectment the project, or how annoying is check layer by layer some one else project because no layers name are the problems this new layer or collection system solve. But for a modeler the new ui, the new interaction method is painfully slow and clumsy as it take so much screen space on the drop down menu even whit just 10 or 15 collections and in the outliner view a single collection an return in to a multi collection view can take like a minute

My Proposal
Display the required information in a more efficient way
Reduce User Fatigue (very important aspect) by putting right on the cursor the required options
Allows you to Correlate things in a no lineal way
Provide quick asses to children collections and a major number of collections
Deal whit the lack of layer information using the “Quick View tool”
Avoid Distraction
you don’t have to choose dis system is an option design for modelers to iterate faster. You don’t have to stop naming your layers and sub layers and if working in a feature film whit 1000 objects no problem the new system is grate for that

that is it :slightly_smiling_face:

Hi,
I share this useful basic command in case someone would be interested. (updated by Roaroao for 2.8)

It works in object and edit mode and move the selection to the world origin:
2.8

loc = C.scene.cursor_location.to_tuple(); C.scene.cursor_location = (0, 0, 0); O.view3d.snap_selected_to_cursor(use_offset=True); C.scene.cursor_location = loc

Hey uh, not sure if this has been asked before, but is there a way to keep the pop up menus such as pies open even after clicking any of the buttons or adjusting sliders in the menus? I have some Modifier pie menus where I might need to change two or three settings at in a row but at the moment I need to call the pie menu two or three times to do that. Txh!

PME has a hack for this. But some widgets don’t work properly with it. And it can crash Blender in some cases.
Add this code in one of the pie slots (Custom tab).

keep_pie_open(L)

Is this still not possible? Or maybe some other workarounds are today available?

No, it’s not possible afaik.

Thank you for this addon. It’s one of my favorite now. My biggest problem with 2.8 is that they made switching between vert,edge, & face into 3 separate hotkeys, which doesn’t sound like a big deal but… I use a 24 key programmable keyboard and all of my keys were being used. This addon really helped me make the full switch to 2.8.

Hello. i cant the install pme addon in blender 2.8
What can be wrong?scrnsht

@roaoao, can you somehow pass an argument when launching external script? (similar to described here: https://www.tutorialspoint.com/python/python_command_line_arguments.htm)

Looks like that this issue is already fixed. Try to update Blender.

Yes, you can pass them like this:

execute_script("scripts/print.py", msg="My Message")

Use msg data in external scripts like this:

print(kwargs["msg"])

Hi all Blender Friends,

I just bought the plugin and I have an error message when I try to chek it as enabled once imported to User Preferences/Blender Addon section: “ImportError: DLL load failed: 1% no es una aplicación Win32 válida”, the last Spanish part means: “it is not a valid Win32 application”.
I do not know how to solve this issue and I hope someone can help.
Thanks!

I actually did the inverse of this, and setup 2.79 to match 2.8, because the new way is so much faster.
That being said, this is easy to set up in the keymap editor, and you don’t need PME to do it. For any other shortcut you want to “port” over, simply look it up in 2.79, and paste the appropriate fields to a new shortcut in 2.8, and it should work.

For this one, make a new shortcut in the keymap editor in the Mesh section, and in the first field put:

wm.call_menu

Once you enter that, a second field in the bottom right corner will appear, and in that paste:

VIEW3D_MT_edit_mesh_select_mode

Set this to whatever key binding you prefer, and you should be good to go.