Skip to content

Repository files navigation

CADQuickLook

A native macOS viewer for STEP, IGES, BREP, STL, and DXF files, with Finder thumbnails and interactive Quick Look previews.

Features

  • Perspective and orthographic views
  • Onshape-style navigation and standard view snaps
  • Hover for a measurement: edge length, circle or cylinder diameter, face area, vertex position; click two entities for the distance or angle between them; ⌘C copies the value with its unit
  • Display options: shaded with or without edges, unshaded, translucent, wireframe; hidden edges visible or removed; tangent edges visible, phantom, or removed
  • STEP assembly placement and part colours through Open CASCADE
  • DXF drawings with layer colours, text, dimensions, and hatch boundaries
  • View menu shortcuts (⌘1–⌘7 standard views, ⌘0 fit, P projection, E edges), Open Recent, drag and drop, one window per file
  • STL files are viewed as meshes: no edges or measurements, but multi-million-triangle scans open in seconds
  • The same viewer and controls in the app and Quick Look

Install

Download the latest build from GitHub Releases, unzip it, and move CADQuickLook.app to Applications.

The app checks for updates once a day via Sparkle and can install them in place. Use CADQuickLook › Check for Updates… to check manually, or turn automatic checks off in Settings.

Build

Requires an Apple silicon Mac, macOS 26, Xcode 26, Homebrew, and XcodeGen.

brew bundle
xcodegen generate
DEVELOPMENT_TEAM=YOUR_TEAM_ID ./script/build_and_run.sh --verify
./script/install.sh

Development builds link against Homebrew's Open CASCADE libraries. Release archives bundle them.

Set DEVELOPMENT_TEAM to sign development builds with your Apple Development certificate; it also prefixes the App Group that the app and Quick Look extensions use for shared preferences. Without it, builds are ad-hoc signed, preferences are not shared with the extensions, and macOS asks for privacy consent on every launch.

Maintainers can create a signed archive with:

SIGNING_IDENTITY="Developer ID Application: …" ./script/package_release.sh

Publishing a release

  1. ./script/bump_version.sh X.Y.Z sets CFBundleShortVersionString and CFBundleVersion (kept equal) in the app and both extension Info.plists. Without an argument it bumps the patch component, which is what dev builds do.
  2. SIGNING_IDENTITY="Developer ID Application: …" NOTARY_PROFILE=… ./script/package_release.sh
  3. gh release create vX.Y.Z dist/CADQuickLook-X.Y.Z-arm64.zip --title "CADQuickLook X.Y.Z" --notes-file notes.md
  4. The Publish Sparkle appcast workflow signs the archive with the Ed25519 key in the SPARKLE_PRIVATE_KEY repository secret and uploads appcast.xml to the release, which the app reads from releases/latest/download/appcast.xml. To do the same locally with the key in your Keychain, run ./script/publish_appcast.sh vX.Y.Z.

The Ed25519 key pair is created once with Sparkle's generate_keys (found under .build/*/SourcePackages/artifacts/sparkle/Sparkle/bin/ after a build); the public half lives in SUPublicEDKey in Info.plist. Back up the private key: without it, existing installs can no longer verify updates.

Parasolid and other proprietary CAD formats require a licensed translator.

License

MIT. Open CASCADE and bundled libraries retain their respective licenses; see third-party notices.

About

Quick Look previews, thumbnails and a viewer for STEP, IGES, BREP, STL and DXF files on macOS

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages