Is there a way to compute overlaping volume of two objects?

Isaac Sim Version

4.2.0

Isaac Lab Version (if applicable)

1.2

Operating System

Ubuntu 22.04

Hi.
Specifically I have two prims(one represents robot and the other one has a simple shape,eg, cube), and I have turned off the collision of the cube so that I can allow my robot to traverse in that cubic regime

I want to know if there is function that is able to compute the overlaping volume between the two, in other words, I want to compute the accurate volume of my robot in that region.

I am thinking of class omni.physx.bindings._physx.PhysXSceneQuery but I don’t think in phyX there is a function that can directly return the overlaping volume given two prim paths, for instance.

Of course, simple boundingbox methods doesn’t satisfy my precision requriment. So I am think is there any advanced function in PhyX or extensions?

THanks.

Haoyu

We currently have an internal feature request regarding this in PhysX, but it is not supported at this time.

I had the same issue, in Isaac there is a workaround in the UI atleast for 4.5.0, you can read the mass properties of a prim (Tools → Physics toolbar, and enable Mass Distribution Manipulator). If you set the density of the object to a fixed value and mass auto-generated, you then have the mass and density, so you can calculate the volume yourself with mass/density == volume. Just make sure you know what units the stage is using (I was using a stage in cm and kg and got some values I didn’t understand using densities at around ~1000 kg/cm3 :) )

I dunno if you can get the density and mass from the API though?

Seems like some more people have asked similar questions, and this was the only I could reply too Getting the volume of prims and How to get volume of object in scene?