Add official 3DMouse support

Post here if you have re-based and finalised code to integrate into master, which was discussed, agreed to and tested in other forums. You can also submit your PR directly on github.
user5889
Posts: 4
Joined: Tue Mar 29, 2022 3:57 pm

Add official 3DMouse support

Post by user5889 »

Hi guys,
I am currently integrating official support for 3Dconnexion devices in Freecad, including 3D navigation and commands export.
The integration is done using the official 3Dconnexion SDK v. 4.0. It will improve the user experience in Windows and MacOS by offering advanced 3D navigation. It is not needed to statically include proprietary libraries into the project, as they can be dynamically loaded and available to customers that have the 3Dconnexion driver installed.
This new integration can be disabled in CMake if not desired. For the Linux systems, the current 3D mouse support of FreeCAD will be kept.
Would this approach be compliant with your license?

Thank you in advance
User avatar
Kunda1
Veteran
Posts: 12691
Joined: Thu Jan 05, 2017 9:03 pm

Re: Add official 3DMouse support

Post by Kunda1 »

Woah. Sounds awesome. Bumping this for the devs to see
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
User avatar
Kunda1
Veteran
Posts: 12691
Joined: Thu Jan 05, 2017 9:03 pm

Re: Add official 3DMouse support

Post by Kunda1 »

wmayer wrote:ping
CC @wmayer
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
wmayer
Founder
Posts: 18779
Joined: Thu Feb 19, 2009 10:32 am

Re: Add official 3DMouse support

Post by wmayer »

Would this approach be compliant with your license?
That's mainly up to 3Dconnexion if they allow it. I think it's best to ask them directly for clarification.

For more details:
https://forum.freecadweb.org/viewtopic. ... 29#p500329

Here some information about the new SDKs from 2012 on:
https://forum.3dconnexion.com/viewtopic.php?f=19&t=4898
SDK license no longer allows redistribution of DLL binary files (these are always included in the driver user installation).
So, if your solution has a dependency to a library of the SDK that the FreeCAD installer has to deploy then it's obviously disallowed.

Btw, when looking at some open-source projects like Blender, VTK, ... that supports 3Dconnexion devices then none of them use the official SDK.
User avatar
Kunda1
Veteran
Posts: 12691
Joined: Thu Jan 05, 2017 9:03 pm

Re: Add official 3DMouse support

Post by Kunda1 »

user5889 wrote: Fri Apr 08, 2022 8:16 am
@user5889 ping
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
yves78
Posts: 56
Joined: Wed Nov 26, 2014 8:32 pm

Re: Add official 3DMouse support

Post by yves78 »

May be all of you know that, but just in case, I would like to say that I have an (very) old 3D connexion spacemouse plus, which works with Freecad 0.19 + windows10, both "stock".
Moves are currently too fast (I did'nt spend time to try to adjust that), and some functionalities could be added in freecad, like trackball around a selected object, but it already works.

I did'nt configure anything, just plugged the usb 3D mouse, and it worked. Then I installed old spacemouse configuration utilities, and I just verified that parameters selected with the 3d connexion utilities are used in all the 3d softwares used on the laptop (including ie Cad assistant), as it would be for a basic 2d mouse.
user5889
Posts: 4
Joined: Tue Mar 29, 2022 3:57 pm

Re: Add official 3DMouse support

Post by user5889 »

Previous versions of the official SDK required to ship some closed-source libraries together with the application, making impossible to consider an integration in an open-source project. Since a few years, those libraries are distributed together with the 3Dconnexion driver, and they are already present on the PC of a customer using a 3D mouse.


The solution I want to propose makes use of a dynamic linking against the libraries already installed by the 3Dconnexion driver, so no need to consider to deploy them with the FreeCAD installer. The same approach has been recently used and accepted in KiCAD:

merge request 845



If someone wants to exclude this feature, a CMake option will be available for that.
User avatar
Kunda1
Veteran
Posts: 12691
Joined: Thu Jan 05, 2017 9:03 pm

Re: Add official 3DMouse support

Post by Kunda1 »

user5889 wrote: Fri Apr 22, 2022 2:38 pm The solution I want to propose makes use of a dynamic linking against the libraries already installed by the 3Dconnexion driver, so no need to consider to deploy them with the FreeCAD installer. The same approach has been recently used and accepted in KiCAD:
wmayer wrote:ping
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
user5889
Posts: 4
Joined: Tue Mar 29, 2022 3:57 pm

Re: Add official 3DMouse support

Post by user5889 »

@wmayer do you have any comment concerning my last answer?
Thank you
User avatar
Kunda1
Veteran
Posts: 12691
Joined: Thu Jan 05, 2017 9:03 pm

Re: Add official 3DMouse support

Post by Kunda1 »

wmayer wrote: pinged by pinger macro
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
Post Reply