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
It would be awesome eventually to get thumbnails for STL files. The tagging system works great for a 3D printing workflow. (And I imagine other CAD workflows)
Solution
I found a github repo for rendering STL file thumbnails for use in Windows or Gnome like DE: REPO
Some kind of fork of this could be used. It is all written in rust which I am no expert in.
Alternatives
Issue #97 may provide an equivalent method of getting STL files. I am not sure which implmenetation would be easier.
I don't know any Rust, and am not very good at software in general lmao. I might have a play with the repo and see if I can implement it, but opening the issue in case anyone with more experiance wants to tackle it.,
Could act similar to manyfold for example. TagStudio would be a great alternative to manage a large library of 3D printing files (STL, OBJ, 3MF, SCAD, F3D) without the complexity of selfhosting or resource heavy usage of manyfold.
macOS renders STL thumbs natively, is there no way to tap into QuickLook (what's used for the thumbnail) here?
I found a python library that handles rendering of 3D objects and scenes, open3d
The issue is that it does not support python 3.12 yet
@CyanVoxel what python version is the project pinned to? if we can use 3.11 I can add the STL implementation (and potentially more 3D file formats as well)
I found a python library that handles rendering of 3D objects and scenes, open3d The issue is that it does not support python 3.12 yet
@CyanVoxel what python version is the project pinned to? if we can use 3.11 I can add the STL implementation (and potentially more 3D file formats as well)
It's pinned to 3.11 and 3.12, with 3.12 being the sticking point - I'm also aware open3d and have been hoping to use it for rendering here once they finally bring support for 3.12. I believe isl-org/Open3D#6433 is the issue over there to watch for, with isl-org/Open3D#6717 being a PR for it that looks to be pretty far along. I've been keeping tabs on it every now and again for a while, but fingers crossed that 3.12 support isn't too far off
I have been looking into rendering it myself using OpenGL support in QT like this repo but that requires the usage of QWindow instead of QWidget for the PreviewPanel
I don't know QT enough to know the ramifications of such a change, and if it's even possible.
I have been looking into rendering it myself using OpenGL support in QT like this repo but that requires the usage of QWindow instead of QWidget for the PreviewPanel
I don't know QT enough to know the ramifications of such a change, and if it's even possible.
I'm also unfortunately not familiar enough with Qt to know the consequences off hand, but I feel it would either be a quick "well this doesn't work it's a separate window" or "okay this'll work I just need to shuffle around some object types". It's up to you if you wanna take a stab at it or just wait for open3d to roll around to 3.12. I couldn't exactly tell you the pros and cons of either implementation, but I feel open3d would be easier to implement for and expand upon.
I'll take a stab at it,
Using OpenGL with QT can allow advanced stuff such as interactive preview (rotating the model and such) which, from what I saw, will be harder using open3d
I would add though that PySide has a module called QT3D which provides all the APIs for doing this stuff without adding a requirement on a third party project.
If you want to generate thumbnails you'd probably need to find something which supports rendering to an off-screen surface QT has QOffscreenSurface but I'm not sure if QT3D can write to it.
Thanks @rfletchr.
I'm planning on working on it on the weekend when ill have some time.
There are two things I want to tackle here.
One is to generate the static images for the thumbnails and one is to generate an interactive preview for the selected file (something basic like arcball)
@JonatanNevo the example code I posted does everything you need for the interactive preview, did you have any luck getting it to write to an offscreen surface?
@rfletchr life happened and it seems like I won't have time to work on this in the foreseeable future
Feel free to take over, I'll try to help if I can
@JonatanNevo I'm in a similar position myself. I use allot of QT in my work life though so I try to offer little bits and pieces when I can to try and save people hassle. I've held off of writing code for this project though as its code style doesn't run with mine and I know I'd just keep trying to change things and cause more trouble than good ;)
@CyanVoxel is there some persistent cache system?
It take quite a while to render all the images, especially because open3d does not really like multithreading so I need to render it one at a time
@CyanVoxel is there some persistent cache system? It take quite a while to render all the images, especially because open3d does not really like multithreading so I need to render it one at a time
Not at the moment, but that's the next system for v9.5 I'll be developing now that I'm not as tied up with #655
Activity
thibmaek commentedon Aug 22, 2024
Could act similar to manyfold for example. TagStudio would be a great alternative to manage a large library of 3D printing files (STL, OBJ, 3MF, SCAD, F3D) without the complexity of selfhosting or resource heavy usage of manyfold.
macOS renders STL thumbs natively, is there no way to tap into QuickLook (what's used for the thumbnail) here?

JonatanNevo commentedon Aug 25, 2024
I found a python library that handles rendering of 3D objects and scenes, open3d
The issue is that it does not support python 3.12 yet
@CyanVoxel what python version is the project pinned to? if we can use 3.11 I can add the STL implementation (and potentially more 3D file formats as well)
CyanVoxel commentedon Aug 25, 2024
It's pinned to 3.11 and 3.12, with 3.12 being the sticking point - I'm also aware open3d and have been hoping to use it for rendering here once they finally bring support for 3.12. I believe isl-org/Open3D#6433 is the issue over there to watch for, with isl-org/Open3D#6717 being a PR for it that looks to be pretty far along. I've been keeping tabs on it every now and again for a while, but fingers crossed that 3.12 support isn't too far off
JonatanNevo commentedon Aug 25, 2024
I have been looking into rendering it myself using OpenGL support in QT like this repo but that requires the usage of
QWindowinstead ofQWidgetfor thePreviewPanelI don't know QT enough to know the ramifications of such a change, and if it's even possible.
CyanVoxel commentedon Aug 25, 2024
I'm also unfortunately not familiar enough with Qt to know the consequences off hand, but I feel it would either be a quick "well this doesn't work it's a separate window" or "okay this'll work I just need to shuffle around some object types". It's up to you if you wanna take a stab at it or just wait for open3d to roll around to 3.12. I couldn't exactly tell you the pros and cons of either implementation, but I feel open3d would be easier to implement for and expand upon.
JonatanNevo commentedon Aug 25, 2024
I'll take a stab at it,
Using OpenGL with QT can allow advanced stuff such as interactive preview (rotating the model and such) which, from what I saw, will be harder using open3d
rfletchr commentedon Aug 27, 2024
It shouldn't be an issue. You should be able to take their QGLControllerWidget from engine.py and add it to a layout.
https://github.com/alonrubintec/3DViewer/blob/d30bc2da629944b715a7823515fab56fda5b7391/engine.py#L28
I would add though that PySide has a module called QT3D which provides all the APIs for doing this stuff without adding a requirement on a third party project.
https://doc.qt.io/qt-6/qt3d-simple-cpp-example.html
rfletchr commentedon Aug 27, 2024
Heres the python version of the above example.
If you want to generate thumbnails you'd probably need to find something which supports rendering to an off-screen surface QT has QOffscreenSurface but I'm not sure if QT3D can write to it.
JonatanNevo commentedon Aug 27, 2024
Thanks @rfletchr.
I'm planning on working on it on the weekend when ill have some time.
There are two things I want to tackle here.
One is to generate the static images for the thumbnails and one is to generate an interactive preview for the selected file (something basic like arcball)
rfletchr commentedon Sep 3, 2024
@JonatanNevo the example code I posted does everything you need for the interactive preview, did you have any luck getting it to write to an offscreen surface?
JonatanNevo commentedon Sep 3, 2024
@rfletchr life happened and it seems like I won't have time to work on this in the foreseeable future
Feel free to take over, I'll try to help if I can
rfletchr commentedon Sep 3, 2024
@JonatanNevo I'm in a similar position myself. I use allot of QT in my work life though so I try to offer little bits and pieces when I can to try and save people hassle. I've held off of writing code for this project though as its code style doesn't run with mine and I know I'd just keep trying to change things and cause more trouble than good ;)
JonatanNevo commentedon Sep 3, 2024
Then hopefully someone else picks this up, or I will in a few months when I'll have the time :)
9 remaining items
CyanVoxel commentedon Jan 8, 2025
Looks like (as of 8 hours ago!) Open3D finally released a build with Python 3.12 support, so we can start looking into using that for this!
JonatanNevo commentedon Jan 8, 2025
Nice!
I'll try taking a look at it later today
trebory6 commentedon Jan 8, 2025
Woah, what a coincidence! Totally didn't plan that. Awesome.
JonatanNevo commentedon Jan 8, 2025
@CyanVoxel is there some persistent cache system?
It take quite a while to render all the images, especially because open3d does not really like multithreading so I need to render it one at a time
JonatanNevo commentedon Jan 8, 2025
I made a quick and dirty poc, the angle is way off and it takes a lot of time to render but you can see the WIP pr here:
#693
CyanVoxel commentedon Jan 9, 2025
Not at the moment, but that's the next system for v9.5 I'll be developing now that I'm not as tied up with #655
CJones-Optics commentedon Jun 10, 2025
Hi again. I was wondering if there was any movement on this issue or an expected release date?
I would also be happy to mess around with any test builds if that helps at all.