Modifier List 1.7.5

From reading the error it seems as if one file tried to use another one which was from an older version of the addon. That’s weird. Do you still have some older version(s) installed? If you have, uninstall them. (I don’t know how they could get mixed though.)

If thats not the case, can you go into the modifier_list folder in your addon directory (the path shows in the error), open a file called “addon_registration.py” and see if the lines 178 and 179 look like the following:

def register_bl_classes(root_dir, modules_to_ignore=None, classes_to_ignore=None, panel_order=None,
                        addon_name_for_counter=None):

Not very nice to have to dig into the python files but I don’t have many ideas unfortunately.

Sorry for the delayed response…

Glad you like it. :slight_smile: Be aware, though, that the Boolean modifier layout is out of date in 2.91. It doesn’t have the new solver option or the new collection option. I’ll have to release an update soon.

3 Likes

Will it be possible to make the actual list of active modifiers drag and drop?

It would also be cool to have an option to separately disable and enable the Modifier Favorites menu so that we have the option of keeping it and using the new stock system at the same time.

Amazing addon by the way, it’s really helped clean up my workflow with modifiers. :smile:

1 Like

That’s not possible unfortunately.

Thanks for the suggestion. Not sure if that’s going to happen, though, this is called “Modifier List” after all…

1 Like

Amazing addon who should be by default in blender in my opinion.
Will it be updated to version 2.91 with the new options for subdiv, volume mesh and volume displacement ?

2 Likes

Thanks.

I’ll update this at some point but better if I don’t give a date. I already said soon a month ago. :neutral_face:
I haven’t used Blender for a while but I’ve followed the development so I should know what is missing.

3 Likes

Ok
Thanks for your answer :wink:

Ok, here’s finally an update:

Modifier List 1.6.2

Updates for Blender 2.9x mainly.

2.91:

2.92:

Other:

  • Removed Simulation modifier as it’s no longer in master. It was available for the point cloud object which is not there anymore either. (Point cloud object will come back later, currently it’s only in the geometry-nodes branch.)

  • Removed modifiers from point cloud object. It currently has only one modifier in the branch: Empty/Nodes modifier. Support for that will come later.

  • Multires:

    • layout was improved by moving all options to the left column in order to make the columns more even
    • “Rebuild Subdivisions” operator is now hidden when there’s already subdivisions
    • settings are now set inactive the same way as in the regular UI
    • “Optimal Display” setting is now above the “UV Smooth” option
  • Subdivision Surface:

    • “Quality” setting is now visible also when Cycles experimental features are enabled
    • settings are now set inactive the same way as in the regular UI when using Cycles adaptive subdivision

Let me know if there’s anything missing or something doesn’t work.

16 Likes

Hi @Symstract. Thank you for this update.

With Blender 2.90.1 and Blender 2.92 alpha, to install the new version:

  • I remove Modifier List 1.6.1 with the “Remove” button
  • I click on the “Refresh” button
  • I “Save Preferences”
  • Then I install the new version with the “Install” button (as usual, selecting the “modifier_list_1.6.2.zip” file), then this error appears:
Traceback (most recent call last):
  File "E:\blender_Portable\2.90\scripts\modules\addon_utils.py", line 382, in enable
    mod.register()
  File "E:\blender_Portable\2.90\scripts\addons\modifier_list\__init__.py", line 60, in register
    addon_name_for_counter=bl_info["name"])
  File "E:\blender_Portable\2.90\scripts\addons\modifier_list\addon_registration.py", line 200, in register_bl_classes
    modules = _import_modules(modules)
  File "E:\blender_Portable\2.90\scripts\addons\modifier_list\addon_registration.py", line 78, in _import_modules
    module = importlib.reload(module)
  File "E:\blender_Portable\2.90\python\lib\importlib\__init__.py", line 169, in reload
    _bootstrap._exec(spec, module)
  File "<frozen importlib._bootstrap>", line 630, in _exec
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "E:\blender_Portable\2.90\scripts\addons\modifier_list\modules\ui\sidebar.py", line 7, in <module>
    from ..utils import get_ml_active_object, object_type_has_modifiers
ImportError: cannot import name 'object_type_has_modifiers' from 'modifier_list.modules.utils' (E:\blender_Portable\2.90\scripts\addons\modifier_list\modules\utils.py)

After Blender is restarted, no problem, the add-on looks correctly activated.


I guess, to avoid seeing this error, Blender users have to remove the old version, save preferences, restart Blender and finally install the new version.

Yea, that issue is related to my automatic class registering. The solution doesn’t work well when one module imports something newly added (function in this case) from another module. In that case it requires a restart to start working. I might try to solve that problem in the future. (I would need to somehow sort the modules topologically before reloading them or something.)

2 Likes

Yes, nice and clean, works perfectly !
Thank you for the update

1 Like

Thanks for the update @Symstract, much appreciated. I was a little afraid when you wrote this…

… Modifier List development would diminish. :sweat_smile:

A question: when I choose Apply to all objects when a modifier is on a linked object, the modifier is still present when I select the other linked object. I’m using Blender 2.9.1.

1 Like

@Symstract, I just wanted to chime in with words of thanks regarding this update!! This has become an essential part of my blender setup and I was bummed as of late when it got broken!

Actually, is there a way I can buy you lunch or a drink? Do you have an account on Gumroad?

2 Likes

@Metin_Seven
The operator just copies the mesh of the selected object and applies the modifier and then switches that same mesh to the other instances. Maybe that can be improved in the future.

@0rAngE
There’s no way to donate currently but thanks for asking!

1 Like

Hey, I’m looking for a way to force specific options as defaults when adding the subdiv surface modifier to an object (‘boundary smooth:keep corners’ and ‘use custom normals’).

Is this something that can be done by editing your addon’s source code? And could you point me to the relevant section?

In modules > operators > modifier_add.py, before or after

48  # Enable auto smooth if modifier is weighted normal
49      if self.modifier_type == 'WEIGHTED_NORMAL':
50          ob.data.use_auto_smooth = True

you can do stuff based on the modifier type. Like this:

mod = ob.modifiers[-1]

if self.modifier_type == 'SUBSURF':
    # the following line isn't needed if you only use 2.91 or higher
    if float(bpy.app.version_string[0:4]) >= 2.91: 
        mod.boundary_smooth = 'PRESERVE_CORNERS'
    mod.use_custom_normals = True

It could be nice to have an easy way to define the default setting for each modifier. Or maybe even have different variations (maybe that would be an overkill).

3 Likes

That’d be very welcome indeed. :+1::+1:

2 Likes

or at least new modifiers use last settings.

3 Likes

WOW, very good stuff here.
Can we have the ability to click and drag to rearrange modifiers order, like in default modifier tab.
Thanks for this amazing addon.

Still alive…

Modifier List 1.6.3

Updates for Blender 2.92 and 2.93

11 Likes