Skip to content
TryUniCADPublic

About

Fully parametric CAD file interchange (WIP)

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

54 stars

Watchers

0 watching

Forks

Repository files navigation

Kit

Kit is a Python SDK for CAD interchange. Readers build a neutral CadDocument from source files. Writers produce target files and report how they represented the source information. Production conversion runs without requiring CAD software.

Wiki

Greptile: The War on Bugs

Start here

  1. Read the installation guide.
  2. Select a registered format.
  3. Follow the conversion procedure.
  4. Evaluate the result and acceptance evidence.

The documentation index includes API, model, adapter, research, and maintenance references. The standards scope identifies the writing rules and current conformance limits.

Formats and limits

Format Suffixes Registration
SOLIDWORKS part .SLDPRT Reader and writer
SOLIDWORKS assembly .SLDASM Reader and writer
FreeCAD .FCStd Reader and writer
CATIA V5 .CATPart, .CATProduct Reader and writer
Kit interchange JSON .json Reader and writer
Autodesk Fusion .f3d Reader and writer

Registration does not establish complete feature coverage or lossless translation. Native replay and carrier preservation have different meanings from editable cross-format output. Check the format reference and result for each input. The Fusion public adapter reads and writes qualified parameter, circle, rectangle, cylinder, cuboid, and frustum documents. Arbitrary feature graphs remain unsupported; strict=False explicitly selects the earlier partial reader.

Conversion example

Call convert(source, destination) with the input and output paths. Supply a real bracket.SLDPRT file and an unused output path before running this example.

from convert import convert as ConvertDoc

Result = ConvertDoc("bracket.SLDPRT", "bracket.FCStd", allow_carrier=False)

Install unicad-kit in the Python environment that runs your script. The public import is convert. The default allow_carrier=True permits preservation results subject to the registry policy. Set allow_carrier=False for conversion acceptance work. This option is independent of the reader's strict option. The default does not waive the repository's lossless and parametric acceptance requirements.

A successful return reports writer evidence. It does not prove that a target application can open, edit, and rebuild the output. See result evaluation before making an acceptance claim.

Architecture

flowchart LR
    Source[Source file] --> Reader[Reader adapter]
    Reader --> Model[CadDocument]
    Model --> Writer[Writer adapter]
    Writer --> Output[Output and attestation]
Loading

The neutral document separates readers from writers. Vendor applications run only in isolated validation workflows after output generation.

Contribute

Activate standard-pr-practice before repository work. Use an isolated worktree and a separate PR. Add a change entry for each repository addition. Record each new discovery as a separate gotcha. Run tests only in remote CI.

Star history

Kit star history

Distribution

Use Python 3.11 or later. Activate your project's virtual environment and install Kit from PyPI.

pip install unicad-kit

If no release is available, follow repository installation. See getting started for uv project setup and output limits. See release publishing for the release process.

License

Kit uses the MIT License. Copyright (c) 2026 Parashell, Odin Glynn-Martin, Stephen Harcourt. Third-party materials retain their own licenses. See the vendor binary notice.

About

Fully parametric CAD file interchange (WIP)

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

54 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages