TOC
The purpose of this library is to make the huge body of Work in PDM systems of big OEMs accessibly to downstream visualization systems, especially game engines.
First step is to build a Python library which read Jt and output a general mesh format like USD and gives enough control for the translation process to account for saddle differences how Parts are formulated in companies.
This leads to Use Pythons scripts to break down common PDM Assembly formats, like PLMXML and STEP to underlying Jt Parts and perform certain transformations:
- Merge Solids and Parts to bigger mesh structures
- Filter large PDM Graphs with configurations information
- Perform different transformations on different Submodules in a large design
- Transfer information in properties into more sophisticated shader/material mapping
All is based on an GPL open source implementation of JT (Jupiter Tessellation) viewer and reader. Forked from Open CASCADE repository.
Used fixes and improvements from following forks
- https://github.com/cbsghost/oce-jt
- https://github.com/mmaenz/TKJT
- https://github.com/wwmayer/TKJT
- https://github.com/pgibertini/oce-jt
Huge thanks to OpenCascade Company for publishing TKJT and JTAssistand. And also thanks to cbsghost, mmaenz, wwmayer and pgibertini for caring the code through time.
- Fork project an modernize cMake and dependency management
- Packaging for Release builds and make first release
- Access to late load part properties
- JtDump tool. Dumps all information as JSON
- Python module and make LSG accessible
- Jt Mesh to USD Mesh-Definition converter
- Building Python Test-Cases with corner case Jts
- Python PLMXML parser
- Upgrade TKJT to Jt 10.5 specification
- PyPI Package
- Remove OpenCascade dependency
https://en.wikipedia.org/wiki/JT_(visualization_format)
Since Jt is an ISO Standard the documentation is quite expensive! Thankfully the Prostep IVIP published a paper based on the 10.5 standard:
This library uses a modern cMake approach and defines all dependencies via VCPKG.
- Install and bootstrap VCPKG from https://github.com/microsoft/vcpkg
- Run Setup.bat from the root folder of the library
TBD
TBD
This project is licensed under the GNU General Public License v2.0 - see the LICENSE.txt file for details.
Since TKJT was released under the GPL 2.0 all linked work is treaded under the same terms. That span from the Python module code to the python scripts you write using that Python module (PyOpenJt).
That means:
- if you sell software based on PyOpenJt you have to distribute the python scripts with it. All other code which not linking against TKJT or PyOpenJt, you can keep closed source.
- if you use PyOpenJt in-house in your company or on your server, you don't have to open your scripts, since you do not distribute the software.
Since I'm not a lawyer, this is my opinion and no legal advise.