Delete prim from simulation and keep the simulation running

Isaac Sim Version

4.5.0
4.2.0
4.1.0
4.0.0
4.5.0
2023.1.1
2023.1.0-hotfix.1
Other (please specify):

Operating System

Ubuntu 22.04
Ubuntu 20.04
Windows 11
Windows 10
Other (please specify):

GPU Information

  • Model: RTX 3060TI
  • Driver Version: 550.78

Topic Description

Detailed Description

I want to delete a prim in running simulation process and have the simulation continue, but it seems that I can’t do it. The simulation view is invalidated after deleting the prim. What should I do?

Steps to Reproduce

  1. Add 2 Robot(like franka, here I use h1)
  2. Run sim steps
  3. Delete one of them
  4. Add another robot to this running sim process

Error Messages

 [Error] [omni.physx.tensors.plugin] Simulation view object is invalidated and cannot be used again to call getSharedMetatype
...
2025-03-31 06:35:19 [33,024ms] [Error] [omni.kit.app._impl] [py stderr]: Traceback (most recent call last):
...
...
  File "/isaac-sim/exts/isaacsim.core.api/isaacsim/core/api/robots/robot.py", line 73, in __init__
    SingleArticulation.__init__(
  File "/isaac-sim/exts/isaacsim.core.prims/isaacsim/core/prims/impl/single_articulation.py", line 99, in __init__
    self._articulation_view = Articulation(
  File "/isaac-sim/exts/isaacsim.core.prims/isaacsim/core/prims/impl/articulation.py", line 175, in __init__
    Articulation._on_physics_ready(self, None)
  File "/isaac-sim/exts/isaacsim.core.prims/isaacsim/core/prims/impl/articulation.py", line 5152, in _on_physics_ready
    self._body_names = self._metadata.link_names
AttributeError: 'NoneType' object has no attribute 'link_names'

Additional Information

What I’ve Tried

This may caused by Simulation view object is invalidated. And I read the source code, can not find how to avoid this error.

Maybe I need to know the internals of the simulation view (maybe a flowchart) but I can’t find it in the documentation. Could you please explain it and tell me if what I want to do is possible?

PLEASE!

Maybe some available APIs can also help