OpenVDB remesh

You should be able to use the latest Windows Python code, if you just put the compiled module into Blenders “modules” folder so that Python can import it. There should be no real difference between the versions outside how the module is loaded. On the Python side it’s simple import “pyopenvdb”. Only thing the Python in Blender needs to see is the module being found in its path and having the right name.

I see. So basically I can put the libs wherever I want until they are on the sys.path…
I think vdb_remesh_b2.79-beta-win64, which fetches the lib depending on python version, is probably the way to go…

Windows and Linux dynamic linking works differently. In Windows you can just load a .DLL from a custom path, in Linux it works differently, so you need to put the .so in a predefined library directory. Don’t know about Mac, probably the same as Linux, so the loading depending on Python version wouldn’t work. Although on Linux it seems to work to import a Python library from an earlier version, which again, doesn’t work on Windows.

What probably will work: using the modules folder in Blender (under scripts folder) placing the Python addon there, then just deleting the pyopenvdb path and files inside the Windows version. I still need to test that out though.

All the addon needs is a way for “import pyopenvdb” to work. Windows uses subfolders to dynamically create the Python module. Linux version uses the modules folder in Blender to put the compiled Python module in.

Ok. I’ll check back when I’ve nailed some more of it down. Thanks.

1 Like

Whoo-hooo!!! Thanks a lot for making this available on Mac!!!

Nice job. Now I can sell my Windows PC and buy a Mac again. :wink:

1 Like

Hi @ambi,

I noticed that OpenVDB remesh (I’m using the regular version, not the nodal version) crashes Blender (2.8 beta) if an object contains a (hair) particle system.

In case it’s possible to avoid the crash in an OpenVDB update, then that’d be nice. Until then, I simply remove the particle system and re-add it after using OpenVDB Remesh.

Thanks.

1 Like

Hello, I just bought this addon but in 2.80 Beta downloaded today I’m getting this error with the file “vdb_remesh_b2.80-preview-3-win64” :

Thanks for the heads up. Looks like they changed something in the Python API in the most recent Blender 2.80 builds. I uploaded a quick fix on Gumroad, until I figure out why they made the change. The file name is vdb_remesh_b2.80-preview-4-win64

It also has experimental vertex color transfer feature.

5 Likes

Thanks, works perfectly. Amazing addon for making CAD assemblies look more real!

Thanks @ambi! Love the vertex color option! :+1:

@ambi library packing and installation is ok now.
you can find library-only mac os releases here:

2.79b works fine.
2.80 gives python errors:

2.80 1b6a, when I try to apply the operator:

File “/usr/local/Blender/blender-2.80.0-git20181204.1b6a394d862-x86_64/blender280.app/Contents/Resources/2.80/scripts/addons/openvdb-remesh/vdb_remesh.py”, line 243, in invoke
return self.execute(context)
File “/usr/local/Blender/blender-2.80.0-git20181204.1b6a394d862-x86_64/blender280.app/Contents/Resources/2.80/scripts/addons/openvdb-remesh/vdb_remesh.py”, line 246, in execute
addon_prefs = context.preferences.addons[package].preferences
AttributeError: ‘Context’ object has no attribute ‘preferences’

while the newest Blender 2.80 release complains about missing python prefixes on installation, but that is about 2 days ago… :laughing:

EDIT: Meh, need to stress it is licensed. Here it is:

2 Likes

Thanks a lot, worked like a charm! :slight_smile:

// if someone use 2.79 nightly - use w37 from 2.80 beta, not w35 from 2.79… latest 2.79 nightly builds use the same python as latest 2.8 version

You’re welcome

Hi there. Just bought but I getting this error message. I’m trying the Preview 4 version. The “oficial” one shows up a message telling an update to 2.8 is required.

Thanks!

Hi. I can’t replicate your problem. With latest Blender 2.80 build from Blender.org and vdb_remesh_b2.80-preview-4-win64 from Gumroad, installing the .zip through Blender preferences->addons it works fine.

Try exiting Blender and then manually removing the openvdb addon folder from the Blender addons folder, also if you have installed any openvdb modules in the modules folder, also remove those, then try installing the .zip from Blender again.

What does copy & paste the following:

import platform as p; import bpy; "|".join([p.machine(),p.platform(),p.python_version(),p.python_compiler(),bpy.app.version_string,bpy.app.binary_path_python])

…into the Blender Python console print out?

Of course, you also need to install the Microsoft Visual C++ Redistributable if you haven’t yet.

Hi,
I just bought it and installed it without any issues. I enabled it in Blender. But I can’t see it anywhere. It’s meant to be an option under Add Modifier, right? It’s not there.

I’m on Ubuntu 16.04 and Blender 2.76.

I get the following error in the terminal but I presume it is not an issue as it says on the gumroad page that it has been tested on 2.76:
“Warning: This script was written Blender version 2.79.0 and might not function (correctly), though it is enabled”

Thank you for the tool and your help.

The .zip for Linux is vdb_remesh-linux-beta-2018-05-04

There are instructions how to install on the Gumroad description. Here’s a video:

The addon is not a modifier and it is located in 3D view > Retopology > VDB remesh

Optionally you can use files from vdb_remesh_b2.79-beta-win64 package to replace the python files in the Blender addon directory to get some newer code. You will have to manually change every line from . import pyopenvdb as vdb to import pyopenvdb as vdb and delete the pyopenvdb folder inside the openvdb-remesh folder (in the Blender addon folder).

Thanks!
It is working well except for two features.
1.
When I try to click “Project generated mesh points to nearest surface points” I get the following error.
image
“TypeError: BlenderDataObjects.remove() takes at most 1 arguments, got 2”

When I try to have it run on Absolute instead of Relative coordinates, Blender freezes completely and permanently.

Are there any fixes to these?

Hi, the first problem is because 2.76 seems to have different way of handling object removal. I’ve uploaded vdb_remesh_linux-2019.zip to Gumroad that fixes that bug.

The second one comes from VDB trying to create absolutely huge voxel arrays if the voxel size is too small. The new code in the new .zip should also fix that problem as it deals with resolution instead of voxel size. Instead of running the operator, you have the option to set the variables inside the panel first, so the voxel array won’t accidentally become huge.

How to (re-)install the new .zip: you need to remove following files in the Blender addons folder if they exist: vdb_remesh.py, vdb_surf.py

Also if openvdb-remesh folder exists, remove it too.

Then simply copy & paste the openvdb-remesh folder into the Blender addons folder, and then enable the OpenVDB addon inside Blender.