mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-21 21:58:01 -06:00
3D printer / slicing GUI built on top of the Uranium framework
![]() This change introduces support for 3Dconnexion SpaceMouse devices on Linux within the 3DConnexion plugin. Key changes: - Added `LinuxSpacenavClient.py`, which uses `ctypes` to interface with the system-provided `libspnav.so.0` library. This client handles opening a connection to the `spacenavd` daemon and polling for motion and button events. - Modified `NavlibClient.py` to include platform detection. On Linux, it now uses `LinuxSpacenavClient` for device input. On Windows and macOS, it continues to use the existing `pynavlib`. - Updated the plugin initialization in `plugins/3DConnexion/__init__.py` to gracefully handle cases where `libspnav.so.0` might be missing or `spacenavd` is not accessible on Linux, disabling the plugin in such scenarios. - The core camera manipulation logic in `NavlibClient.py` has been adapted to accept transformation matrices from either `pynavlib` or the new Linux client, aiming for consistent behavior. - Placeholder adaptations for some `pynavlib`-specific methods have been added for the Linux path, returning `None` or basic Python types where `pynav.*` types were previously used. This implementation relies on you having `spacenavd` (version 0.6 or newer recommended) installed and running, along with `libspnav0` (or equivalent). Testing for this feature is currently manual, involving checking device response for camera manipulation (pan, zoom, rotate) within Cura on a Linux environment with a configured SpaceMouse. Output: |
||
---|---|---|
.github | ||
.run_templates | ||
cura | ||
licenses_thirdparty | ||
packaging | ||
plugins | ||
printer-linter | ||
resources | ||
scripts | ||
tests | ||
.gitignore | ||
.printer-linter | ||
.pylintrc | ||
CITATION.cff | ||
CMakeLists.txt | ||
conandata.yml | ||
conanfile.py | ||
CONTRIBUTING.md | ||
cura-logo-dark.PNG | ||
cura-logo.PNG | ||
cura.sharedmimeinfo | ||
cura_app.py | ||
CuraVersion.py.jinja | ||
FUNDING.yml | ||
LICENSE | ||
pytest.ini | ||
README.md | ||
SECURITY.md | ||
UltiMaker-Cura.spec.jinja |
Ultimaker Cura
State-of-the-art slicer app to prepare
your 3D models for your 3D printer.
With hundreds of settings & community-managed print profiles,
Ultimaker Cura is sure to lead your next project to a success.
Contribute Printer Profiles? -- Please look here first.
Contribute Translations? -- Please look here first.