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.5

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.5
File Size Uploaded
cq_acis-0.3.5.tar.gz 109.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for cq-acis 0.3.5
File
cq_acis-0.3.5-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
cq_acis-0.3.5-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.5-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
cq_acis-0.3.5-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.5.tar.gz

Download URL cq_acis-0.3.5.tar.gz
Size 109.4 kB
Tags Source
SHA-256 checksum
How to use checksums
1b44c16dfb94dbee3343c365aa41a9f85126ad313d70bb0a4a424df3b67bbc7d
BLAKE2b-256 checksum
How to use checksums
aadec601dc7ad4d1a4ee81695e4caba949447b2d5846978c121eec15a86773e2
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.5-cp310-abi3-win_amd64.whl

Download URL cq_acis-0.3.5-cp310-abi3-win_amd64.whl
Size 429.5 kB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
6a7064d903f84b9e5ecf8e7108f34b6dd49ea0b9c923607c1870c9128962d4dd
BLAKE2b-256 checksum
How to use checksums
ab9e152dcf0f5e0ea81d51551c9ce07d8319e0a978fc5e2f86c8d8bb299423b7
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.5-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL cq_acis-0.3.5-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 576.3 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
11370923a9c303526f42946218a8a5c70caceaa62bd2704007d0ae332f8f18b9
BLAKE2b-256 checksum
How to use checksums
425882d6c50be95ed8c2f87a800969d83468c31e54812b172be5e70bb366a29c
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.5-cp310-abi3-macosx_11_0_arm64.whl

Download URL cq_acis-0.3.5-cp310-abi3-macosx_11_0_arm64.whl
Size 527.0 kB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c0ea0e4836bc09c5b836729f8a759f544029d983eb0d1750c4f51cb80f5a1cd9
BLAKE2b-256 checksum
How to use checksums
b19fc6e58af9db8ea2634b66e272b934a0f9a7859bd14aca2c121d799051a228
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.5-cp310-abi3-macosx_10_12_x86_64.whl

Download URL cq_acis-0.3.5-cp310-abi3-macosx_10_12_x86_64.whl
Size 529.4 kB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
b87d64284e7da5a58b468c42fd2f505c8e419a3103fd770ec06c6e5419c029c9
BLAKE2b-256 checksum
How to use checksums
f2d584a0b534bd808d9649a1e7c422c94a3f90e4298cf59dcf7ab63f5186512e
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

0.3.6

5 release files

This release

0.3.5 This release

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