Статья о настройке манипулятора 3Dconnexion в FreeCAD:

https://wiki.freecad.org/3Dconnexion_input_devices

Linux

FreeCAD поддерживает драйверы из проекта Spacenav. Это проект, целью которого является создание драйвера с открытым исходным кодом, совместимого с проприетарными драйверами от 3Dconnexion.

Установить из репозитория

Ubuntu
sudo apt-get install spacenavd

Однако обратите внимание, что версия 0.6, доступная в Ubuntu 20.04 (и, вероятно, в более старых версиях), не работает. В этом случае вам придется скомпилировать spacenavd из исходного кода, как описано ниже.

Fedora
sudo yum install spacenavd
Debian
apt-get install spacenavd libspnav-dev

Spacenav нуждается в этих разрешениях:

Перезапустите spnavd и FreeCAD

/usr/bin/spnavd_ctl x11 остановить
/usr/bin/spnavd_ctl x11 запустить
openSUSE
sudo zypper install spacenavd

Скомпилируйте Spacenav из исходного кода

Это рекомендуется, если в вашем дистрибутиве может быть устаревшая версия.

  • Загрузите следующие файлы:
    • spacenavd (последняя версия)
    • libspnav (получить последнюю версию libspnav)
    • spnavcfg (получить последнюю версию libspnav)
  • Распакуйте архивы в папку в вашем домашнем каталоге.
  • Перейдите в каталог spacenavd-x.x и выполните следующие команды:
  • Если это удалось, выполните следующие команды от имени пользователя root (или с префиксом sudo).
make install
./setup_init
/etc/init.d/spacenavd start
  • Это устанавливает демон spacenav, настраивает его на автоматическую загрузку при загрузке системы и запускает демон без перезагрузки.
  • Теперь пришло время проверить, правильно ли определяется ваше устройство. Отключите устройство от сети, выполните следующую команду, а затем снова подключите его.
хвост -n100 -f /var/log/spnavd.log
  • Если результат выглядит примерно так, вы можете продолжить.
Device detection, parsing /proc/bus/input/devices
trying alternative detection, querying /dev/input/eventX device names...
  trying "/dev/input/event1" ... Power Button
  trying "/dev/input/event2" ... 3Dconnexion SpaceNavigator
using device: /dev/input/event2
device name: 3Dconnexion SpaceNavigator
  • Теперь войдите в каталог с именем libspnav-x.x.x и выполните следующие команды:
  • Если make завершается неудачей со следующей ошибкой: ...
fatal error: gtk/gtk.h: No such file or directory
  • ... тогда вам нужно установить libgtkmm-2.4-dev. В Ubuntu это делается следующим образом:
sudo apt-get install libgtkmm-2.4-dev
  • Когда сборка завершится успешно, выполните следующую команду от имени пользователя root (или с префиксом sudo).
  • Посмотрите в каталоге libspnav-x.x.x/examples/. Если вы хотите протестировать своё устройство, скомпилируйте и запустите один из двух примеров.
  • Следуйте той же схеме для компиляции и установки spnavcfg. Убедитесь, что вы запускаете spnavcfg от имени пользователя root, иначе настройки не сохранятся!

Запуск spacenavd как службы systemd при загрузке

Если вы хотите запустить spacenavd при загрузке с помощью systemd, выполните следующие действия:

  • Перейдите в каталог, в который вы клонировали репозиторий spacenavd (в корень репозитория)
  • «sudo cp contrib/systemd/spacenavd.service /usr/lib/systemd/system/spacenavd-local.service».
  • «sudo systemctl включить spacenavd-local.service».
  • «sudo systemctl start spacenavd-local.service», если вы хотите запустить его прямо сейчас.

Это необходимо только для установки из исходного кода.

Перезапуск spacenavd

Если SpaceNavigator иногда перестаёт работать, рекомендуется перезапустить драйвер. Чтобы перезапустить его, откройте Терминал и выполните:

sudo xhost +
sudo /etc/init.d/spacenavd restart

После этого перезапустите FreeCAD. В некоторых дистрибутивах это необходимо делать при каждой загрузке.

Известные проблемы

Пользователь сообщил на форуме, что он увидел следующее:

 Spacenav daemon 0.6
 failed to open config file /etc/spnavrc: No such file or directory. using defaults.
 adding device.
 device name: 3Dconnexion SpacePilot
 using device: /dev/input/event5
 No protocol specified
 failed to open X11 display ":0.0" 

Обходной путь, который сработал для них:

sudo cp ~/.Xauthority /root/
sudo spnavd_ctl x11 start
sudo systemctl restart spacenavd

Windows

Начиная с версии 0.13, 3D mouse поддерживается в Windows. У вас должны быть установлены драйверы 3Dconnexion. В FreeCAD версии 1.0 была представлена новая интеграция с устройствами 3Dconnexion. При компиляции с такой интеграцией поддерживается только новейшее оборудование: для поддержки старых устройств пользователям потребуется выполнить самокомпиляцию с переменной FREECAD_3DCONNEXION_SUPPORT CMake, для которой установлено значение "Необработанный ввод". Пользователи Windows должны знать, что драйвер 3Dconnexion (не код в FreeCAD) содержит пакет телеметрии, который передаёт информацию об установленном программном обеспечении обратно в 3Dconnexion.

Известные проблемы

  • В FreeCAD версии 1.0 и более поздних версиях изменение настроек в окне конфигурации 3DX может не дать ожидаемых результатов (проблема). Чтобы это исправить:
    1. Остановите драйвер (запустив Stop 3DxWare).
    2. Перейдите в папку ..\AppData\Roaming\3Dconnexion\3DxWare\Cfg и удалите файл FreeCAD.xml.
    3. Запустите драйвер (запустив Start 3DxWare).
    4. Запустите FreeCAD и проверьте, можно ли изменить настройки движения Spaceball.