You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 4de87b0
Browse filesBrowse the repository at this point in the historyBrowse files
> Built with Swift + SwiftUI, SceneKit, and [Formlabs/foxtrot](https://github.com/Formlabs/foxtrot).
8
6
9
7
## ✨ What does it do?
10
8
11
-
***Quick Look Preview** – Press spacebar in Finder to open an interactive 3d preview of the file (similar to the built-in preview for STL files).
12
-
***Finder Thumbnails** – Generates a raster thumbnail for every STEP file in Finder.
13
-
***STEP viewer app** – A tiny SwiftUI host app lets you drag-and-drop a STEP file to view it. This mostly exists because the preview and thumbnail extensions need to be bundled inside a `.app`.
9
+
This allows you to **quickly** preview STEP files from Finder before opening them in your CAD tool. It will not render your STEP files as well as your CAD tool, but it will almost certainly open them faster!
14
10
15
-
Because [foxtrot](https://github.com/Formlabs/foxtrot) is neat and very fast, even fairly complex assemblies can be previewed quickly.
@@ -22,30 +18,33 @@ Because [foxtrot](https://github.com/Formlabs/foxtrot) is neat and very fast, ev
22
18
## 💻 Installing
23
19
24
20
* Download the latest verison from [Releases](https://github.com/johnboiles/quick-look-step/releases) and unzip it
25
-
* Move QuickLookStep.app to Applications
26
-
* Open the QuickLookStep.app
27
-
* After a few seconds, a macOS notification appears saying an extension has added. Click this notification.
28
-
* If you miss the notification, open System Settings > General > Login Items and Extensions, then click the (i) next to QuickLookStep.
21
+
* Move `QuickLookStep.app` to Applications
22
+
* Open the `QuickLookStep.app`
23
+
* After a few seconds, a macOS notification appears saying an extension has added. Click this notification
24
+
* If you miss the notification, open System Settings > General > Login Items and Extensions, then click the (i) next to QuickLookStep
29
25
* Turn the switch on for both options under QuickLookStep and click Done
30
-
* Open a Finder window and select a `.step` or `.stp` file. You should be able to preview it with Quick Look (using spacebar) it or see the thumbnail in the sidebar in column view.
26
+
* Open a Finder window and select a `.step` or `.stp` file. You should be able to preview it from Finder with Quick Look (using spacebar) or see the thumbnail in the sidebar in column view
31
27
* Close the app (it doesn't need to be open for the plugins to work)
32
28
33
-
## 🛠️ How it works
29
+
## 🐞 Known issues
34
30
35
-
1. A small Rust crate (shipped pre-built as `libfoxtrot_universal.a`) parses the STEP file and exposes raw vertex/index buffers via a C-compatible FFI declared in `foxtrot.h`.
36
-
2.`SceneBuilder.swift` converts those buffers into a `SCNScene`, applies reasonable lighting, and positions a camera so the whole model fits on screen.
37
-
3. The scene is consumed by three targets:
38
-
***`StepThumbnail.appex`** – Renders the scene off-screen to produce the Finder thumbnail.
39
-
***`StepPreview.appex`** – Embeds an interactive `SCNView` for the Quick Look preview.
40
-
***`QuickLookStep` macOS app** – Convenient wrapper around the same scene useful during development and as a fallback viewer.
31
+
* Some STEP files don't load. The underlying [Foxtrot](https://github.com/Formlabs/foxtrot) library doesn't like them.
32
+
* Some STEP files have holes. Probably this is also a [Foxtrot](https://github.com/Formlabs/foxtrot) thing, but I could also be making a mistake in how I'm loading geometry to SceneKit. More testing against [Foxtrot](https://github.com/Formlabs/foxtrot) is needed. For this app, it's always better to be fast than perfect, but ideally it can be both 😀
33
+
* The examples in the [Foxtrot README.md](https://github.com/Formlabs/foxtrot/blob/master/README.md) suggests Foxtrot supports textures. I don't have that hooked up in SceneKit yet.
34
+
* Very large assemblies can take a long time to load and the extensions get stuck for a bit. Better timeouts could probably protect against this.
41
35
42
-
This app is intentionally very simple. macOS has similar built-in support for previewing STL files and I tried to keep this app as-similar-as-possible to that in appearance and feel.
36
+
## 🔫 Troubleshooting
43
37
44
-
## 🐞 Known issues
38
+
Mostly when I'm developing I sometimes get a stale version of the extension, or the extension doesn't load at all. When that happens I run this to do everything I know to do to clear the macOS cache.
45
39
46
-
* Some STEP files don't load. The underlying [foxtrot](https://github.com/Formlabs/foxtrot) library doesn't like them.
47
-
* Some STEP files don't render perfectly. Probably this is also a foxtrot thing, but I could be making a mistake in how I'm loading geometry to SceneKit. More testing against foxtrot is needed. For this app, it's always better to be fast than perfect, but ideally it can be both 😀
48
-
* Very large assemblies can take a long time to load and the extensions get stuck for a bit. Better timeouts could probably protect against this.
0 commit comments