UP  |  HOME

3dconnexion SpaceTraveler3 USB

Table of Contents

Linux spacenavd

I installed the daemon and started it. It runs as root. If spacenavd starts before X11 then you might have to run spnavd_ctl x11 start.

There is a spnavcfg, but it wasn't packaged in Debian. I built it, and it also expects to run as root to modify /etc/spnavrc. You can modify sensitivity, invert axis, and swap some axis.

Importantly there is also an LED control option, but it only toggles on​/off. I found it a better option to edit /etc/spnavrc and set the LED to auto. Then the LEDs will light when apps are connected to the daemon, but otherwise be off.

Listing 1: /etc/spnavrc
# sensitivity is multiplied with every motion (1.0 normal).
sensitivity = 1.000

# separate sensitivity for rotation and translation.
sensitivity-translation = 1.000
sensitivity-rotation = 1.000

# dead zone; any motion less than this number, is discarded as noise.
dead-zone = 2

# repeat interval; non-deadzone events are repeated every so many milliseconds (-1 to disable)
repeat-interval = -1
# swap translation along Y and Z axes
swap-yz = false

# led status: on, off, or auto (turn on when a client is connected)
led = auto

# serial device
#   Set this only if you have a serial device, and make sure you specify the
#   correct device file (On linux usually: /dev/ttyS0, /dev/ttyS1, /dev/ttyUSB0 ... etc).
#serial = /dev/ttyS0

List of additional USB devices to use (multiple devices can be listed)

Apps

OpenSCAD

Edit > Preferences > Axes then check the SpaceNav checkbox.

You can assign axes, and there's a separate tab, Buttons, to assign actions for those.

I found that it doesn't display the current Axes assignments after a restart. This is unfortunate because it does save and reuse them between runs. As a result I clobbered what I thought were good settings.

I settled on viewport relative translation, but normal axis rotation. This gives a pretty good feel of directly manipulating the 3d canvas with the space mouse. It can still get a bit disorienting if you rotate the axis out of their normal plane. Here's what I came up with after a second play:

Table 1: OpenSCAD Axes Preferences
  X Y Z
ViewPort rel. Translation Axis 0 Axis 2 Axis 1
Rotation Axis 3 Axis 5 Axis 4

openscad_spacenav.png

Figure 1: OpenSCAD Axes Preferences

Blender

Blender has Edit > Preferences > Input, and an NDOF section that may be hidden.

I set it to Navigation: Free, Rotation: Turntable, and changed the Invert Axis Orbit on all three axis. It looks like:

blender_ndof.png

Figure 2: Blender NDOF config

I found it useful to Lock to Object. In the View panel you can drag an object from your Scene to the Lock to Object then movement uses it as an origin. This way you can use Free navigation by default, but Orbit when necessary.

blender_lock_to_object.png

Figure 3: Blender Lock to Object

Windows

The device didn't do anything when plugged in. I grabbed the latest utility (3DxWare64 10.8.8), but it didn't seem to work with this older device.

I went to 3dconnexion's Driver archive and they had 3DxSoftware 3.7.22 (2009) which claimed support for XP and Vista. I installed it on Windows 10 without issue.

First play was with Google Earth running in the browser. Movement was jumpy. I grabbed the windows installer for Google Earth Pro. It has a setting in Tools > Options > Navigation under Non-mouse Controller you have to check Enable Controller. The experience was much better so whatever issue seems to be limited to the browser input.