Can you go a head and create a branch with these changes? You are more likely to get the information you need this way. Me or sgrogan can do the build.wmayer wrote:As alternative we could also provide a special build with some log messages at the right places in the code.
3Dconnexion mouse
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
Re: 3Dconnexion mouse
Re: 3Dconnexion mouse
Thanks for the offer. I have created a branch at SF: http://sourceforge.net/p/free-cad/code/ ... ball/tree/peterl94 wrote:Can you go a head and create a branch with these changes? You are more likely to get the information you need this way. Me or sgrogan can do the build.wmayer wrote:As alternative we could also provide a special build with some log messages at the right places in the code.
There are quite a few log messages to check the most obvious things. Maybe we need a further version with more messages...
Re: 3Dconnexion mouse
wmayer-spaceball branch x64 vs2013 release build
https://www.dropbox.com/s/7j1rb8ldjtcvt ... ll.7z?dl=0
https://www.dropbox.com/s/7j1rb8ldjtcvt ... ll.7z?dl=0
"fight the good fight"
Re: 3Dconnexion mouse
Still no Spaceball function. Config pages for movement and buttons are there, but nothing moves.
OS: Windows 7
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.15.4641 +1 (Git)
Branch: wmayer-spaceball
Hash: b674010fd844e4f178e10e03eac2285b3bd75e73
Python version: 2.7.8
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.7.1
Ausgabefenster:
=== Initialize Spaceball using 3DConnexion SDK ===
Total number of found devices: 7
Logitech device: HID: 2, VID: 1133
Multi-axis Controller found: Usage: 8, Usage page: 1
Found a Spaceball
InitializeRawInput succeeded
=== Finished ===
Python Console:
Python 2.7.8 (default, Nov 17 2014, 20:37:05) [MSC v.1800 64 bit (AMD64)] on win32
Type 'help', 'copyright', 'credits' or 'license' for more information.
>>> import WebGui
>>> from StartPage import StartPage
>>> WebGui.openBrowserHTML(StartPage.handle(),App.getResourceDir() + 'Mod/Start/StartPage/','Start page')
>>> import FreeCAD
>>> FreeCAD.open(u"C:/Users/Ekkehard/Documents/CAD/zero_plate.FCStd")
>>> App.setActiveDocument("zero_plate")
>>> App.ActiveDocument=App.getDocument("zero_plate")
>>> Gui.ActiveDocument=Gui.getDocument("zero_plate")
>>> Gui.activateWorkbench("InspectionWorkbench")
>>>
started from windows console window, no output there. Any other place to look?
I'm off to work now.
Regards
Ektus.
P.S.: Test run completes with no errors, but produces the following output:
Exception (Tue Mar 10 06:38:52 2015): 'SurelyNotInThere!' is not part of the enumeration
Call from Python thread (not synchronized): count=1
Call from Python thread (not synchronized): count=2
Call from Python thread (not synchronized): count=3
Call from Python thread (not synchronized): count=4
Call from Python thread (not synchronized): count=5
Call from Python thread (not synchronized): count=6
Call from Python thread (not synchronized): count=7
Call from Python thread (not synchronized): count=8
Call from Python thread (not synchronized): count=9
Call from Python thread (not synchronized): count=10
10
Printing message
Printing error
Printing warning
Call from Python thread: count=1
Call from Python thread: count=2
Call from Python thread: count=3
Call from Python thread: count=4
Call from Python thread: count=5
Call from Python thread: count=6
Call from Python thread: count=7
Call from Python thread: count=8
Call from Python thread: count=9
Call from Python thread: count=10
10
Arch workbench activated
Arch workbench deactivated
OpenSCAD executable not found
Draft workbench activated
Draft workbench deactivated
Write mesh to c:\users\ekkehard\appdata\local\temp\mesh.stl
Create mesh instance
Mesh loaded successfully.
Create mesh instance
Mesh loaded successfully.
Create sphere (10.0,140)...
Create sphere (10.0,160)...
... destroy sphere
... destroy sphere
Traceback (most recent call last):
File "C:\Program Files\Spaceball\Mod\Draft\Draft.py", line 4191, in onChanged
if obj.Length.Value != obj.Shape.Length:
<type 'exceptions.RuntimeError'>: shape is invalid
Entfernen der unterstützenden Skizze um Querverweise zu vermeiden
OS: Windows 7
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.15.4641 +1 (Git)
Branch: wmayer-spaceball
Hash: b674010fd844e4f178e10e03eac2285b3bd75e73
Python version: 2.7.8
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.7.1
Ausgabefenster:
=== Initialize Spaceball using 3DConnexion SDK ===
Total number of found devices: 7
Logitech device: HID: 2, VID: 1133
Multi-axis Controller found: Usage: 8, Usage page: 1
Found a Spaceball
InitializeRawInput succeeded
=== Finished ===
Python Console:
Python 2.7.8 (default, Nov 17 2014, 20:37:05) [MSC v.1800 64 bit (AMD64)] on win32
Type 'help', 'copyright', 'credits' or 'license' for more information.
>>> import WebGui
>>> from StartPage import StartPage
>>> WebGui.openBrowserHTML(StartPage.handle(),App.getResourceDir() + 'Mod/Start/StartPage/','Start page')
>>> import FreeCAD
>>> FreeCAD.open(u"C:/Users/Ekkehard/Documents/CAD/zero_plate.FCStd")
>>> App.setActiveDocument("zero_plate")
>>> App.ActiveDocument=App.getDocument("zero_plate")
>>> Gui.ActiveDocument=Gui.getDocument("zero_plate")
>>> Gui.activateWorkbench("InspectionWorkbench")
>>>
started from windows console window, no output there. Any other place to look?
I'm off to work now.
Regards
Ektus.
P.S.: Test run completes with no errors, but produces the following output:
Exception (Tue Mar 10 06:38:52 2015): 'SurelyNotInThere!' is not part of the enumeration
Call from Python thread (not synchronized): count=1
Call from Python thread (not synchronized): count=2
Call from Python thread (not synchronized): count=3
Call from Python thread (not synchronized): count=4
Call from Python thread (not synchronized): count=5
Call from Python thread (not synchronized): count=6
Call from Python thread (not synchronized): count=7
Call from Python thread (not synchronized): count=8
Call from Python thread (not synchronized): count=9
Call from Python thread (not synchronized): count=10
10
Printing message
Printing error
Printing warning
Call from Python thread: count=1
Call from Python thread: count=2
Call from Python thread: count=3
Call from Python thread: count=4
Call from Python thread: count=5
Call from Python thread: count=6
Call from Python thread: count=7
Call from Python thread: count=8
Call from Python thread: count=9
Call from Python thread: count=10
10
Arch workbench activated
Arch workbench deactivated
OpenSCAD executable not found
Draft workbench activated
Draft workbench deactivated
Write mesh to c:\users\ekkehard\appdata\local\temp\mesh.stl
Create mesh instance
Mesh loaded successfully.
Create mesh instance
Mesh loaded successfully.
Create sphere (10.0,140)...
Create sphere (10.0,160)...
... destroy sphere
... destroy sphere
Traceback (most recent call last):
File "C:\Program Files\Spaceball\Mod\Draft\Draft.py", line 4191, in onChanged
if obj.Length.Value != obj.Shape.Length:
<type 'exceptions.RuntimeError'>: shape is invalid
Entfernen der unterstützenden Skizze um Querverweise zu vermeiden
Re: 3Dconnexion mouse
Thank you guys for building and testing.
That's pretty weird that there is no further output. This basically means that the raw input events never come through. I'll add a few more log messages to track down the actual problem.=== Initialize Spaceball using 3DConnexion SDK ===
Total number of found devices: 7
Logitech device: HID: 2, VID: 1133
Multi-axis Controller found: Usage: 8, Usage page: 1
Found a Spaceball
InitializeRawInput succeeded
=== Finished ===
Re: 3Dconnexion mouse
I think I have found the culprit. When a spaceball is detected the static function "GUIApplicationNativeEventAware::RawInputEventFilter" is set as event filter to the QApplication instance.
However, as soon as a 3d view is being created this event filter gets overridden by QuarterWidgetP::nativeEventFilter which seems to use the spacenav library (so Linux only). But this means that from then on the spaceball input events cannot be handled on Windows any more.
I have added some further code that hopefully fixes the problem.
@sgrogan when you prepare a new version based on my test branch it's sufficient to upload the file FreeCADGui.dll only. You don't have to upload the full package again.
@ektus you have to replace the old FreeCADGui.dll file with the new one.
However, as soon as a 3d view is being created this event filter gets overridden by QuarterWidgetP::nativeEventFilter which seems to use the spacenav library (so Linux only). But this means that from then on the spaceball input events cannot be handled on Windows any more.
I have added some further code that hopefully fixes the problem.
@sgrogan when you prepare a new version based on my test branch it's sufficient to upload the file FreeCADGui.dll only. You don't have to upload the full package again.
@ektus you have to replace the old FreeCADGui.dll file with the new one.
Re: 3Dconnexion mouse
Success! After replacing the DLL, 3D movement under windows is working once again
Thank you very much, Werner and sgrogan!
Now it's time to release
[edit]Something isn't quite right: FreeCAD is using 100% CPU time on one core, albeit sitting idle with no model active (test object has been closed).[/edit]
Regards
Ektus.
Thank you very much, Werner and sgrogan!
Now it's time to release
[edit]Something isn't quite right: FreeCAD is using 100% CPU time on one core, albeit sitting idle with no model active (test object has been closed).[/edit]
Regards
Ektus.
Re: 3Dconnexion mouse
In the report window do you get a flood of messages there? If yes, this might be the reason for the heavy CPU load.Something isn't quite right: FreeCAD is using 100% CPU time on one core, albeit sitting idle with no model active (test object has been closed).
Re: 3Dconnexion mouse
Fixed in master now.