MeshLab Gourmet, the MeshLab companion

Hi,

I developed this add-on for streamlining possible MeshLab workflows.

You can get it from Gumroad and Blender Market from the links below, the links also include FAQ and the instructions.

Gumroad

Blender Market

Brief

This add-on intends to streamline editing and processing of meshes/objects with external applications like MeshLab. At the moment it supports MeshLab only (more to come). The main goal of this add-on is to make the MeshLab integration seamless so that you as the user don’t need to worry about keeping track of the imports/export process and the continuous integration.

Basically you can create any number of Meshlab scripts (which can include many sub filters) and apply them to your objects right inside Blender.

Features

  • Run custom Meshlab scripts on the currently selected object.

  • Add new Meshlab scripts to the scripts library while Blender is running.

  • Open and edit the currently selected object in Meshlab for editing, it will import the edited mesh back.

  • Edit the currently selected script in a text editor.

  • It also works with vertex only meshes as long as the chosen Meshlab script supports it.

  • It comes with a set of sample Meshlab script library.

  • Linux, Windows, MacOS supported

Please feel free to ask any questions about the current features and planned features etc.

Release Notes for v1.1

  • Option to keep the processed meshes in the temp folder
  • Automatic conversion of imported meshes to quads from triangles
  • The addon now detects no edits in Meshlab, no unnecessary imports anymore
  • The exported mesh is triangulated prior to processing for better compability with MeshLab/MeshLabServer
  • Object rotation is maintained across the versions
  • Better handling of the imported mesh’s pivot

Release Notes for v1.2

  • Blender 2.80 update
  • Some scripts are updated

Release Notes for v1.2.2

  • API fixes

Couple screen recordings of the possible things you can do with this addon

Remesh Point cloud
Remesh_ScreenPoisson_PointCloud

Remesh Isotropic
Remesh_Isotropic

Smoothing using Meshlab 2 step smooth
Smooth_Step

Edit scripts in an external editor from Blender
Edit_Isotropic_Script

Edit in MeshLab workflow
Edit_In_Meshlab

Remesh holes with Poisson
CleanUp_Remesh_Holes

Refresh Scripts
Refresh_Scripts

4 Likes

Wow , great addon!
Thank you.

Hi,

This add-on is now also on Blender Market (along with Gumroad), see the first post for the updated links and the release notes. And I just pushed a new release with some fixes and additions.

@micro26 I am glad you liked it.

If you bought the addon and need it to be ported to 2.8 for your production reasons please let me know.

I am not in a hurry to port it to 2.8 because the 2.8 API is still nudged so I prefer to port my addons to 2.8 when it is mature.

I have 1 free license up for grabs. Just pm me, and let me know why you want it.

thanks

HI, this looks very interesting !
Cool Idea to combine Blender and meshlab in this way :slight_smile:

Do you Know this discussion?

Do you think it would be possible to connect Blender to this “freeship” thing as well, to use it inside blender for a quadmesh to nurbs conversion (or at least to export )

1 Like

I am not sure about if it offers any form of API or scripting interface. If it does, it is possible to intagrate it in Blender the way I implemented Meshlab.

In any case I have a list of processing apps. I added Freeship to the list. However no plans to implement that atm since it lacks documentation about this stuff.

Hi

This add-on now works in 2.80 too.

2 Likes

I just released a hot fix release (v1.2.1) for the 2.80. It seems like there had been an 2.80 API change since my last release.

1 Like

This addon looks really cool! I bought it a little impulsively and I can’t find a copy of Meshlab 2018 for windows (& don’t really want to go through the hassle of figuring out building from source). I’ve been getting errors trying to use 2016 & 2020.

Are there any related versions of Meshlab that would work that have windows portable versions – or does it depend on 2018?

The error it pulls up is Scene object has no attribute ‘Update’ & then a warning about Setting the path for the Meshlab folder in the addon.

Hi

What kind of error do you get? Please try to get me the terminal output or some kind of screenshot of the error window. What procedure are you using when you are getting the errors?

Did you set the Meshlab.exe folder (not the full path to the exe, only the folder) in the add-on settings?

Bear in mind that some of the Meshlab scripting is quick picky and can throw errors on certain meshes. In that case you would need to open your mesh using “Open in Meshlab” , process the mesh and save it over the original temporary .obj. When you close Meshlab, the model will be imported back to Blender.

The README explains where to get the 2018 version. However it should generally work with the other versions, I use the addon myself here.

Traceback (most recent call last):
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\MeshLabGourmet\__init__.py", line 406, in invoke
    return self.execute(context)
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\MeshLabGourmet\__init__.py", line 410, in execute
    contructCommand(context, "meshlabserver")
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\MeshLabGourmet\__init__.py", line 341, in contructCommand
    selected_object = bpy.context.selectable_bases[0]
AttributeError: 'Context' object has no attribute 'selectable_bases'

location: <unknown location>:-1

Results from running the script “CleanUp1.mlx” on the default cube w/ 2020 – same with 2016.

The meshlab installer at https://ci.appveyor.com/project/cignoni/meshlab/build/artifacts was recently taken down. The only official sources for built binaries on Windows are on their github now.

Running in 2.82 errors resulting from the same process:

Traceback (most recent call last):
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\MeshLabGourmet\__init__.py", line 421, in invoke
    return self.execute(context)
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\MeshLabGourmet\__init__.py", line 425, in execute
    contructCommand(context, "meshlabserver")
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\MeshLabGourmet\__init__.py", line 400, in contructCommand
    bpy.context.scene.update()
AttributeError: 'Scene' object has no attribute 'update'

location: <unknown location>:-1

Traceback (most recent call last):
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\MeshLabGourmet\__init__.py", line 560, in poll
    reconfigureMeshLabStage(context)
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\MeshLabGourmet\__init__.py", line 465, in reconfigureMeshLabStage
    addon_prefs = getPreferences(con)
  File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\MeshLabGourmet\__init__.py", line 78, in getPreferences
    addon_prefs = user_preferences.addons[__name__].preferences
UnboundLocalError: local variable 'user_preferences' referenced before assignment

location: <unknown location>:-1

I get the same errors attempting to open in Meshlab too : (

I just ran exactly that step and I get no error and the script produces a successful clean mesh. Please see the video below.

Can you please take a screenshot of Meshlab Gourmet’s addon settings from the addons tabe in the preferences? I just want to make sure you are setting things properly along with the version number. You might have downloaded an earlier version. The latest release was 1.2.1

I will also send you my latest dev version here via pm, in case some issues arised since then.

Blender 2.82 with default cube

Here are my settings! Thank you for taking the time to help me through this.

Thanks. You paid for the add-on. And I will be more than happy to go through the steps until this is fixed for you.

Please check your PM.

I just made a new release (v1.2.2) that should take care of the issue @comomomo reported.

1 Like