---
title: PhysX-3D
canonical_url: "https://www.modelscope.cn/datasets/AI-ModelScope/PhysX-3D"
md_url: "https://www.modelscope.cn/datasets/AI-ModelScope/PhysX-3D.md"
repository: AI-ModelScope/PhysX-3D
last_updated: 2025-11-12
license: gpl-3.0
storage_size: "1.8 TB"
downloads: 505
stars: 1
---

# PhysX-3D

> PhysX-3D - AI-ModelScope 在 ModelScope 开源的数据集。PhysXNet & PhysXNet-XL

AI-ModelScope/PhysX-3D 是 ModelScope 魔搭社区上的数据集，存储大小 1.8 TB，采用 gpl-3.0 许可。

- **Repository**: AI-ModelScope/PhysX-3D
- **License**: gpl-3.0
- **Storage size**: 1.8 TB
- **Downloads**: 505
- **Stars**: 1
- **Last updated**: 2025-11-12

Source: https://www.modelscope.cn/datasets/AI-ModelScope/PhysX-3D

---

# PhysXNet & PhysXNet-XL

<p align="left"><a href="https://arxiv.org/abs/2507.12465"><img src='https://img.shields.io/badge/arXiv-Paper-red?logo=arxiv&logoColor=white' alt='arXiv'></a>
<a href='https://huggingface.co/papers/2507.12465'><img src='https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Paper-blue'></a>
<a href='https://physx-3d.github.io/'><img src='https://img.shields.io/badge/Project_Page-Website-green?logo=homepage&logoColor=white' alt='Project Page'></a>
<a href='https://youtu.be/M5V_c0Duuy4'><img src='https://img.shields.io/youtube/views/M5V_c0Duuy4'></a>

This dataset aims to bridge the critical gap in physics-annotated 3D datasets. It is the first physics-grounded 3D dataset systematically annotated across five foundational dimensions: **absolute scale**, **material**, **affordance**, **kinematics**, and **function description**. 

## Dataset Details

🎉 Our paper has been accepted to **NeurIPS 2025 (Spotlight)** 

🎉 We have released the code for converting our JSON files to URDF at: [urdf_gen.py](https://github.com/ziangcao0312/PhysX).

### Dataset Sources 

- **Repository:** [PhysX-3D](https://github.com/ziangcao0312/PhysX)
- **Project page:** [PhysX-3D: Physical-Grounded 3D Asset Generation](https://physx-3d.github.io)
- **Demo video:** [Video](https://youtu.be/M5V_c0Duuy4)

## Dataset Structure

```
PhysX
--PhysXNet.zip                                       
----finaljson
------103.json
------502.json
------...
----partseg
------103
--------img
----------0.png
----------1.png
----------...
--------objs
----------0.obj
----------1.obj
----------...
--PhysXNet-XL_bottle.zip                             
--PhysXNet-XL_knief.zip
...
```

The physical properties are included in the JSON file. It can be converted to URDF or XML files.

###### Example.json

```python
{
    "object_name": "Folding Knife",
    "category": "Tool",
    "dimension": "20*3*2",                            # Physical scaling (cm)
    "parts": [
        {
            "label": 0,
            "name": "Blade",
            "material": "Stainless Steel",            
            "density": "7.8 g/cm^3",
            "priority_rank": 2,                       # Affordance rank
            "Basic_description": "xxx",
            "Functional_description": "xxx",
            "Movement_description": "xxx",
            "Young's Modulus (GPa)": xx,
            "Poisson's Ratio": xx
        },
        {
            "label": 1,
            "name": "Handle",
            "material": "Plastic",
            "density": "1.2 g/cm^3",
            "priority_rank": 1,                        
            "Basic_description": "xxx",
            "Functional_description": "xxx",
            "Movement_description": "xxx",
            "Young's Modulus (GPa)": xx,
            "Poisson's Ratio": xx
        }
    ],
    "group_info": {
        "0": [                      # basement group index
            1                       # label of the part
        ],
        "1": [                      # child group index
            [
                0                   # moveable parts in child group 
            ],
            "0",                    # parent group index
            [
                1,                  # rotation/movement direction x coordinate
                0,                  # rotation/movement direction y coordinate
                0,                  # rotation/movement direction z coordinate
                0.0,                # Revolute/Hinge location x coordinate
                0.3,                # Revolute/Hinge location y coordinate
                -0.0,               # Revolute/Hinge location z coordinate
                0.0,                # rotation/movement min range
                1.0                 # rotation/movement max range
            ],
            "C"                     # Kinematic type (A,B,C,CB,D,E)
        ]
    }
}
```

### Kinematic Details

**Rotation range:**  

Rotation range = rotation angle / 180.      

(Rotation range) [-1, 1] * 180° → (Rotation angle) [-180°, 180°].

**Movement range:**  

Movement range = movement length in 3D coordinates.  

(Movement range) [-1, 1] * Physical scaling → (Movement length) [-10cm, 10cm].

**Kinematic type:**  

A. No movement constraints *(water in a bottle)*

B. Prismatic joints *(drawer)*

C. Revolute joints (*door*)

CB. Prismatic & Revolute  joints (lid of the bottle)

D. Hinge joint (*a hose in a shower system*)

E. Rigid joint.

**Note:** For CB, there are more kinematic parameters.

```python
"group_info": {
        "0": [                      # basement group index
            1                       # label of the part
        ],
        "1": [                      # child group index
            [
                0                   # moveable parts in child group 
            ],
            "0",                    # parent group index
            [
                1,                  # rotation direction x coordinate
                0,                  # rotation direction y coordinate
                0,                  # rotation direction z coordinate
                0.0,                # Revolute location x coordinate
                0.3,                # Revolute location y coordinate
                -0.0,               # Revolute location z coordinate
                0.0,                # rotation min range
                1.0                 # rotation max range
                1,                  # movement direction x coordinate
                0,                  # movement direction y coordinate
                0,                  # movement direction z coordinate
                0.0,                # 
                0.3,                # 
                -0.0,               # 
                0.0,                # movement min range
                1.0                 # movement max range
            ],
            "CB"                     # Kinematic type (A,B,C,CB,D,E)
        ]
    }
```


If you find our dataset useful for your work, please cite:

```
@article{cao2025physx,
  title={PhysX: Physical-Grounded 3D Asset Generation},
  author={Cao, Ziang and Chen, Zhaoxi and Pan, Liang and Liu, Ziwei},
  journal={arXiv preprint arXiv:2507.12465},
  year={2025}
}
```



### Acknowledgement

PhysXNet and PhysXNet-XL are based on [PartNet](https://huggingface.co/datasets/ShapeNet/PartNet-archive). We would like to express our sincere thanks to the contributors.

### License
If you use PhysXNet and PhysXNet-XL, you agree to abide by the [ShapeNet terms of use](https://shapenet.org/terms). You are only allowed to redistribute the data to your research associates and colleagues provided that they first agree to be bound by these terms and conditions.
