Skip to main content

FBXLoader for Python

[!WARNING] This library has very limited features and is only intended for reading mesh geometry from binary FBX files, it doesn't support:

  • Reading ASCII FBX files.
  • Reading textures and materials even if they are encoded in the file.
  • Reading skeletons and animations. Note that the geometry may also be incorrect if the mesh is skinned.
  • Writing FBX files. However, this can be a starting point to implement more features in the future. Welcome to contribute!

Install

# from pypi
pip install fbxloader

# from source
pip install git+https://github.com/ashawkey/fbxloader.git

Usage

Python API:

from fbxloader import FBXLoader

fbx = FBXLoader('model.fbx') # load from file or bytes

# similar to glb, fbx usually contains multiple meshes as a scene
# we provide a method to merge them into a single mesh and export as trimesh.Trimesh
mesh = fbx.export_trimesh()

# write to other formats (using trimesh API)
mesh.export('model.obj')

# meta: this is to provide some information on unimplemented features, you may inspect it to make sure if the model is expected to load correctly. e.g., hasDeformers=True usually means the model is skinned.
print(fbx.meta)
# {'hasImages': False, 'hasTextures': False, 'hasMaterials': True, 'hasDeformers': True, 'hasAnimations': True}

We also provide a CLI tool:

fbxconverter <input.fbx> <output.obj/ply/glb>

Lastly, we provide a testing script and also a fbx mesh as an example:

python tests/test.py examples/annulus.fbx

Reference

The code is basically translated from threejs's FBXLoader. Thanks to the threejs team and also copilot!

Metadata

Release files for fbxloader 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fbxloader 0.0.2
File Size Uploaded
fbxloader-0.0.2.tar.gz 9.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fbxloader 0.0.2
File Interpreter ABI Platform
fbxloader-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 19.4 kB

Release files / fbxloader-0.0.2.tar.gz

Download URL fbxloader-0.0.2.tar.gz
Size 9.5 kB
Tags Source
SHA-256 checksum
How to use checksums
db004e0d134598094e86f68a1dde5eaf07a0befc4d87cdf781620015cc2a752d
BLAKE2b-256 checksum
How to use checksums
48b235fb118f0bce0f1b24f3122b5bc05619365126de65c19dbe23cd65fec67f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / fbxloader-0.0.2-py3-none-any.whl

Download URL fbxloader-0.0.2-py3-none-any.whl
Size 9.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
22dd2f319f6870e19070f5fc57f0dce70ef0798619b8a782f995ae4aff26227a
BLAKE2b-256 checksum
How to use checksums
a649df741b3810b7360c55c15ec547f06fbcafa4a3c458aac32e3bb69442155d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page