Skip to main content

cq-acis

Parse ACIS SAT/SAB data and convert supported B-rep geometry to CadQuery/OpenCascade shapes.

日本語版: README.ja.md

This project is experimental. Supported geometry depends on the save version and producer. Unsupported entities remain available as raw records; conversion raises an error when it cannot build the requested shape within source precision. Projected 2D trims are checked against the unchanged 3D curves.

Features

  • Read legacy and modern SAT headers, counted strings, and entity references.
  • Decode SAT save versions 105, 400, 600, and 700, plus selected SAB and Autodesk ShapeManager binary profiles.
  • Convert supported lines, circles, ellipses, planes, cylinders, cones, spheres, and tori, with experimental support for explicit NURBS and selected tolerant boundaries.
  • Inspect topology, metadata, diagnostics, and the source data of unknown records.
  • Use a shared model API to connect external decoders to the CadQuery converter.

See geometry support and limitations and SAB/ASM support for the accepted profiles.

Installation

Requires Python 3.11 or newer. CadQuery 2.8 or later is installed as a dependency.

python -m pip install cq-acis

Installing a prebuilt wheel does not require Rust. To install from a source checkout, install Rust 1.83 or newer and a C linker first, then run:

python -m pip install -e .

CadQuery's platform requirements also apply.

Quick start

Parse SAT records and follow topology references:

from pathlib import Path
from cq_acis import parse_sat_model

model = parse_sat_model(Path("model.sat").read_bytes())
for body in model.bodies():
    lump = model.resolve(body.lump)
    print(body.index, lump.index if lump else None)

Import a SAT file as a CadQuery Workplane:

from cq_acis import import_sat_file

result = import_sat_file("model.sat")
shape = result.val()
assert shape.isValid()
print(shape.Volume())

For binary SAB/ASM input:

from pathlib import Path
from cq_acis import parse_sab_model, to_cadquery

model = parse_sab_model(Path("model.sab").read_bytes(), source_id="model.sab")
print(model.diagnostics)
result = to_cadquery(model)

Parsing a file does not guarantee that all its geometry can be converted. See usage and error handling.

Documentation

The public API and supported format subset may change as coverage expands.

License

The project code is licensed under the MIT License. See third-party notices for dependency attribution. The repository's test corpus is excluded from the Python distributions and has separate license notices.

Metadata

Release files for cq-acis 0.3.6

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

Source distribution (sdist)

Source distribution for cq-acis 0.3.6
File Size Uploaded
cq_acis-0.3.6.tar.gz 112.1 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for cq-acis 0.3.6
File
cq_acis-0.3.6-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
cq_acis-0.3.6-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
cq_acis-0.3.6-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
cq_acis-0.3.6-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 2.2 MB

Release files / cq_acis-0.3.6.tar.gz

Download URL cq_acis-0.3.6.tar.gz
Size 112.1 kB
Tags Source
SHA-256 checksum
How to use checksums
1524d78b8f5cd6ed9b5e46beb0ffca1a340157a5233b8e6b6bda113cf932c376
BLAKE2b-256 checksum
How to use checksums
50839ef7f80fa80c80be9307e9522d8258a7858a45ed505aa838e52742e06a40
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 Sep 13, 2026.

Transparency log

Release files / cq_acis-0.3.6-cp310-abi3-win_amd64.whl

Download URL cq_acis-0.3.6-cp310-abi3-win_amd64.whl
Size 433.0 kB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
d557c0c93c3deafae0b1dfff99bbadb02d7137e5400ae62063300111fc9183db
BLAKE2b-256 checksum
How to use checksums
9b5a88eaf11c570b1a94e1cf0d4732bd2ffc4d25770d7da7faedbbc5528df8f5
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 Sep 13, 2026.

Transparency log

Release files / cq_acis-0.3.6-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL cq_acis-0.3.6-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 579.9 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
e4566343e7f78d8c1e710c883d65b2748e98f644a07df981dfb113cf0f66f88a
BLAKE2b-256 checksum
How to use checksums
45dee2c8557019871a2b09ef245e78af8502f01571cc4790c4bf4ea846e8fd0e
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 Sep 13, 2026.

Transparency log

Release files / cq_acis-0.3.6-cp310-abi3-macosx_11_0_arm64.whl

Download URL cq_acis-0.3.6-cp310-abi3-macosx_11_0_arm64.whl
Size 530.6 kB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7c0b2e0c63ebf8b57f33fcfe8b26ac11e69b5bcaeec6da0eedf6c84c75f22cc5
BLAKE2b-256 checksum
How to use checksums
8c48bfbfcefc4faf12e5822a3c93f0489e414245821c4ec75406c4a60525633a
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 Sep 13, 2026.

Transparency log

Release files / cq_acis-0.3.6-cp310-abi3-macosx_10_12_x86_64.whl

Download URL cq_acis-0.3.6-cp310-abi3-macosx_10_12_x86_64.whl
Size 532.8 kB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
af56a1248d48ba64f85afb25b245191bbb8b2236d6a5b0b9a57aa6b502c7379e
BLAKE2b-256 checksum
How to use checksums
f1865636190effe0ccb1dfd2dfcf50c5a696b7be3590551b9f171c622e0af61a
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 Sep 13, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.12

6 release files

0.3.11

6 release files

0.3.10

5 release files

0.3.9

5 release files

0.3.8

5 release files

0.3.7

5 release files

This release

0.3.6 This release

5 release files

0.3.5

5 release files

0.3.4

5 release files

0.3.3

5 release files

0.3.2

5 release files

0.2.0

5 release files

0.1.0

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