Recommended workflow for solid volume processing in Omniverse

I am attempting to model manufacturing in Omniverse (mostly Boolean operations on voxel/point cloud and rendering these changes) and I am wondering what the recommended libraries to do this are.

In my research I found:

Kaolin, which I could combine with PyTorch/Open3D to process the volume manually and then export to OpenUSD

Additionally, the NVIDIA Omniverse Kaolin App docs seem to be down, maybe this is deprecated:

https://docs.omniverse.nvidia.com/kaolin/latest/overview.html

Omni.vdb extension, which is maybe deprecated? I can’t seem to install it in Isaac Sim as an extension and it was last updated a year and a half ago.

I want to:

  1. Take some geometry
  2. Get some real-time data from Isaac Sim
  3. Using this data, perform Boolean operations on a voxel grid or point cloud
  4. Update the voxel / point cloud in Isaac Sim
  5. Repeat steps 2-4

What is the recommended workflow for this, specifically w.r.t. 4, since it may involve multiple threads accessing a single OpenUSD scene (one doing stuff in Isaac Sim and the other is computing the updates with kaolin).

There are some discussion posts about this but they are a bit sparse on details, and additionally they are years old so I don’t know if they reflect the current landscape of Omniverse.

I’m sorry, but we don’t do any kind of modeling, including Boolean inside kit whether it’s USD composer or Isaac Sim. Especially not on volumes. This would have to be done externally with some other software, which to be honest is super advanced and I’m not sure what you would even use. The only way you can process volumes like this is with clipping planes and again we don’t do that inside Omniverse. We only render the volumes, that’s all.

Ah, too bad. I also looked at warp and it seems like both warp and kaolin expect a vdb to have constant topology which makes this task a bit difficult.

I think I will try doing the computations with the tensor module of Open3D which seems more flexible, and zero-copy the result into some compatible mesh representation for omniverse, and then wrap it all in a custom omnigraph node.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.