Статья о настройке манипулятора 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
Это рекомендуется, если в вашем дистрибутиве может быть устаревшая версия.
- Загрузите следующие файлы:
- Распакуйте архивы в папку в вашем домашнем каталоге.
- Перейдите в каталог 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 (в корень репозитория)
- «sudo cp contrib/systemd/spacenavd.service /usr/lib/systemd/system/spacenavd-local.service».
- «sudo systemctl включить spacenavd-local.service».
- «sudo systemctl start spacenavd-local.service», если вы хотите запустить его прямо сейчас.
Это необходимо только для установки из исходного кода.
Если 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 может не дать ожидаемых результатов (проблема). Чтобы это исправить:
- Остановите драйвер (запустив Stop 3DxWare).
- Перейдите в папку ..\AppData\Roaming\3Dconnexion\3DxWare\Cfg и удалите файл FreeCAD.xml.
- Запустите драйвер (запустив Start 3DxWare).
- Запустите FreeCAD и проверьте, можно ли изменить настройки движения Spaceball.