The Open Class 3D Exchange (OCX) Schema
Introduction
This is the official GitHub repository for the Open Class 3D Exchange (OCX) schema (working draft version) owned and managed by the OCX Consortium.
The latest published version of the OCX schema is available from the consortium's website.
Changelog
Historic changes (pre 2.8.6)
How to contribute
The schema file is maintained using an XML editor like Altova XMLSpy.
- Installation: Simply download the schema files from the repository or clone it using git.
- Create an Issue for the proposed schema change. Follow the recipe on the Wiki on how to register an issue.
- Then create a branch from the issue, check out the branch and implement the proposed changes.
- When the implementation is completed, create a pull request.
- The pull request will have to be approved by the OCXStandard maintainer before it can be included in the working draft.
Schema versioning
The OCX schema is following the Python PEP 440 versioning recommendations.
Following PEP 440, the canonical public version identifiers MUST comply with the following scheme:
[N!]N(.N)*[{a|b|rc}N][.postN][.devN]
see the PEP 440 for a detailed explanation.
tbump versioning tool
The Python tbump tool is used to automate and bump schema versions. tbump also provides the possibility for pre- and post-commit actions.
The project config file pyproject.toml contains the tbump settings.
Usage
Assume that the current schema version is 2.8.6. To bump the schema version to the pre-release alpha version, the following command can be issued:
> tbump 3.0.0-alpha
:: Bumping from 2.8.6 to 3.0.0-alpha
=> Would update current version in pyproject.toml
=> Would patch these files
- pyproject.toml:3 version = "2.8.6"
+ pyproject.toml:3 version = "3.0.0-alpha"
- pyproject.toml:34 current = "2.8.6"
+ pyproject.toml:34 current = "3.0.0-alpha"
- OCX_Schema.xsd:103
+ OCX_Schema.xsd:103
- OCX_Schema.xsd:12 xmlns:ocx="https://3docx.org/fileadmin//ocx_schema//V286//OCX_Schema.xsd"
+ OCX_Schema.xsd:12 xmlns:ocx="https://3docx.org/fileadmin//ocx_schema//V300alpha//OCX_Schema.xsd"
- OCX_Schema.xsd:14 targetNamespace="https://3docx.org/fileadmin//ocx_schema//V286//OCX_Schema.xsd"
+ OCX_Schema.xsd:14 targetNamespace="https://3docx.org/fileadmin//ocx_schema//V300alpha//OCX_Schema.xsd"
=> Would run these hooks before commit
* (1/4) $ python xsdata_package.py 3.0.0-alpha
* (2/4) $ xsdata generate OCX_Schema.xsd
* (3/4) $ gid add ./ocx_*
* (4/4) $ python insert_version.py 3.0.0-alpha
=> Would run these git commands
$ git add --update
$ git commit --message Bump to 3.0.0-alpha
$ git tag --annotate --message v3.0.0-alpha v3.0.0-alpha
$ git push --atomic origin working_draft v3.0.0-alpha
:: Looking good? (y/N)
>
Schema databinding
See DATABINDING.md
OCX Public License
The OCX standard is governed by the 3Docx.org (https://3Docx.org) Consortium Members and published under the Apache 2.0 Public License conditions (the License).
You may obtain a copy of the License at:
Unless required by applicable law or agreed to in writing, the 3Docx standard and software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. The OCX Consortium is not liable to any use whatsoever of the distributed standard or software based on the standard.
See the License for the specific language governing permissions and limitations under the License.
Metadata
Release files for OCX 3.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ocx-3.2.0.tar.gz | 820.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ocx-3.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.7 MB
Release files / ocx-3.2.0.tar.gz
| Download URL | ocx-3.2.0.tar.gz |
|---|---|
| Size | 820.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a370d46051c7951e9bddb2843e5cc21fbc616627765a7ec5eb25f0aa0ca10d7e
|
|
BLAKE2b-256 checksum How to use checksums |
8f689d56ed83472d02a4bfca6130288c52c90df96d7a2325729273c249971b55
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.
Transparency logRelease files / ocx-3.2.0-py3-none-any.whl
| Download URL | ocx-3.2.0-py3-none-any.whl |
|---|---|
| Size | 840.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5103b862ca89e3143be92c80c7f598354b452565906d260a9b35d01da06c5926
|
|
BLAKE2b-256 checksum How to use checksums |
cc9a67a11ec88a484cb5ede4ffd06f196729bd269b723663adeb75d3c60b8642
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 12, 2026.
Transparency log