Заметки

Category: 3D

Снова про Компас 3D...

С Компасом выяснилась такая проблема: менеджер лицензий (hasplm) привязывает все ключи к конфигурации железа, в том числе к ID и параметрам корневого диска и /var (возможно и других постоянно подключенных дисков), при апгрейде железа активация слетает к чёрту и нужно через техподдержку её восстанавливать. Собственно, я даже не апгрейдил, а просто передвинул /var с винта на SSD, который уже был в системе. Ключ слетает, если изменилось хоть что-то, а то что всё остальное железо и система в целом неизменны его не волнует. Казалось бы, мог бы сориентироваться и понять, что комп тот же самый, но нет. Это очень неприятная новость. Не люблю за такое платный софт :(

Установил KOMPAS 3D LT V12 под Linux, но...

Компас 3D LT это бесплатная и максимально облегчённая (и очень старая) версия приложения для учеников образовательных учреждений. Возникла идея поставить её сыну для школьного проекта, так как Tinkercad не имеет некоторых нужных возможностей (фигуры вращения и выдавливания по произвольным эскизам, скругления).
Качаем дистрибутив с официального сайта.
Всё ставится примерно как и в инструкции для Home-версии, за исключением того, что нужны другие компоненты Винды и нет защиты от копирования и сервера ключей HASP. Также, скорее всего, нет необходимости обновлять Wine не из дистрибутива. В итоге установка заметно быстрее и проще. Вот официальная страница FAQ по Компасу LT под Wine.
0) Установите / обновите Wine.
1) Создаём инстанс Wine:

WINEPREFIX=~/.wine-kompas3dlt winecfg

Выбираем режим Windows XP, задаём разрешение экрана, добавляем диски (если надо), выходим.
2) Устанавливаем компоненты:

WINEPREFIX=~/.wine-kompas3dlt winetricks -f -q corefonts mfc40 mfc42 vcrun2003 vcrun2010 gecko vcrun6 vcrun6sp6

3) Распаковываем дистрибутив в ~/.wine-kompas3dlt/drive_c/Distrib, переходим в каталог с файлами, запускаем:

WINEPREFIX=~/.wine-kompas3dlt wine msiexec /i KOMPAS-3D_LT_V12.msi

Почему-то, в отличие от Home-версии, не создался ярлык на рабочем столе, но это легко исправить, создав на столе скрипт или ярлык с примерно такой командой:

WINEPREFIX=$HOME/.wine-kompas3dlt wine "$HOME/.wine-kompas3dlt/drive_c/Program Files (x86)/ASCON/KOMPAS-3D LT V12/Bin/KOMPASLT.Exe"

И вроде всё запускается и работает очень шустро и не падает.
А теперь, вёдра дёгтя в ложку мёда:

  • На одном компьютере при редактировании эскиза глючит отрисовка - фон становится чёрным и рисуются фантомные линии (геометрии, которые были в эскизе раньше).
  • На другом компьютере при редактировании возле курсора болтаются всякие артефакты.
  • На дисплее 4K работать невозможно, т.к. кнопки в тулбаре итак крошечные, а при увеличении DPI не увеличиваются, в результате их без экранной лупы не видно.

По первым двум проблемам, в интернетах есть информация, что старый Компас под Wine не всегда дружит в фирменными драйверами nVidia и лучше работает с nouveau, но это решение неприемлемо, т.к. с nouveau много что другое плохо работает. Итого, пока что затея с Компас LT проваливается. Вам может повезти и всё будет работать нормально, нам не повезло.
Проблемы могут быть исправлены в WINE @ Etersoft, но это не точно - нужно пробовать, а для этого надо пожертвовать временем и установленным, налаженным стоковым Wine на каком-то компьютере (параллельно их просто так поставить нельзя), либо поднимать виртуалку, что лишает 90% смысла использования Wine (так можно сразу виртуалку с XP или 7 делать).

Как в КОМПАС 3D (v21) сделать трёхмерный объект (эксиз) из SVG

Задача произошла из того, что понадобилось нарисованный (срисованный со сканированнного изображения) когда-то давно в Inkscape и сохранённый в SVG контур детали превратить в 3D-модель (выдавить и добавить фаски). Раньше я уже делал это в FreeCAD-е, но с ним были проблемы, например, даже на таких элементарных моделях он на ровном месте падал или отказывался снимать фаску без видимых на то причин. В будущем я, конечно, буду обводить сканы непосредственно в Компасе, чтобы избежать промежуточных телодвижений. Но в целом Inkscape проще CAD-ов в плане редактирования, например, каких-то художественных контуров, а также он хорошо работает на любых компьютерах и не требует покупки лицензии, поэтому опция полезная и для других целей. Компас сам по себе почему-то не импортирует SVG. Зато он импортирует DXF. Самый простой вариант преобразования это использовать всё тот же FreeCAD:

  • Запускаем FreeCAD, открываем SVG.
  • Выбираем контур.
  • Жмём "Экспортировать" и выбираем "Autodesk DXF 2D".
  • Сохраняем, выходим.

Далее в Компасе:

  • Открываем DXF-файл. Запускается конвертер, который преобразует его в фрагмент уже в формате Компаса - FRW. После преобразования FRW сразу откроется на своей вкладке.
  • Выделяем контур, щёлкаем на нём правой кнопкой и изменяем стиль линий на "Основной". Сохраняем такой исправленный FRW на всякий случай.
  • Копируем контур из FRW в буфер обмена.
  • В проекте детали создаём эскиз и вставляем из буфера.

Готово, у нас есть нужная фигура в эскизе и мы можем её подредактировать, выдавить в 3D и так далее.
Всё просто, когда знаешь, но на поиск всего пути ушло часа три :)

Установка KOMPAS 3D под Ubuntu (20.04, v21, 64bit), 2023.02

1) Устанавливаем wine и winetricks. Желательно установить супер-новый Wine (без этого может работать, может не работать). Ниже команды для Ubuntu. Замените focal на кодовое имя вашего дистрибутива, при необходимости его можно уточнить командой lsb_release -a:

sudo add-apt-repository 'deb http://dl.winehq.org/wine-builds/ubuntu/ focal main'
sudo apt install --install-recommends winehq-devel

Примечание - на самом деле, в этой инструкции для Ubuntu специфичен только этот способ установки свежего Wine, всё остальное одинаковое для всех дистрибутивов Linux.
UPD: Лучше используйте инструкцию для этого шага отсюда (страница для Ubuntu).

2) Нужно создать отдельный чистый инстанс Wine для Компаса. Да, это расход дискового пространства (сам Компас у меня занял 5,5 ГБ, а его индивидуальная "винда" ещё 3 ГБ), но так намного удобнее и надёжнее. Всегда можно снести "винду" (весь каталог Wine) и начать с чистого листа и не восстанавливать кучу пропавших виндовых програм. Или забэкапить или перенести каталог с отдельным приложением. Заодно можно индивидуально настроить видимость линуксовой файловой системы, режимы совместимости с Windows. Ну и самое главное - активация Компаса привязана к конфигурации железа, на котором он работает, и при изменении конфигурации Wine активация может накрыться медным тазом. (Если это произойдёт, то остаётся только связываться с технической поддержкой Компаса, они помогут восстановить ключ.)
Допустим, выберем для установки Компаса каталог ~/.wine-kompas. Создадим инстанс "винды":

WINEPREFIX=~/.wine-kompas winecfg

Когда winecfg создаст каталоги "Windows" и запустится, смотрим настройки, например, можно настроить разрешение экрана и какие каталоги из системы будут видны виндовым программам и на каких буквах дисков. Потом выходим из него.
Современная версия Wine по дефолту создаёт винду а ля Windows 10 64-bit, что нам и нужно.

3) Следуя официальной инструкции, установим нужные компоненты винды:

WINEPREFIX=~/.wine-kompas winetricks -f -q corefonts d3dcompiler_47 vcrun2015 dotnet48

Примечание: это может работать адски долго, но дайте ему закончить.
Перейдём в каталог ~/.wine-kompas/drive_c, создадим там подкаталог, например, Distr и распакуем туда архив с Компасом, например, KOMPAS-3D_v21_Home_x64_1174.zip. Найдём где лежит файл MSI, например, KOMPAS-3D_v21_Home_x64.msi и перейдём туда. Выполняем команду:

WINEPREFIX=~/.wine-kompas wine msiexec /i KOMPAS-3D_v21_Home_x64.msi

Выбираем выборочную установку и отключаем установку HASP (она называется как-то по другому в списке, типа менеджера ключей или что-то в этом роде). (Виндовый сервер HASP на Wine не работает, но есть линуксовая реализация, о ней ниже.)
Компас устанавливается, на рабочем столе создаётся ярлык, которым можно запустить приложение. Wine автоматически прописывает в ярлыке правильный WINEPREFIX. Но если возникнет необходимость сделать свой скрипт для запуска то не забудьте в нём про этот префикс.

Активацию делаем просто по официальному мануалу, никаких граблей в процессе не обнаружено: раз, два. Для домашней версии нужно будет:
1) Установить сервер активации из архива aksusbd_vlib46707.tar (он линуксовый, распаковываем, выполняем sudo ./dinst). Кстати, у сервера есть веб панелька, которая доступна после его установки по адресу: http://localhost:1947/
2) Распаковать kActivation_cli.tar, сделать:

sudo cp libhasp_linux_x86_64_46707.so /lib
./kActivation_cli -a <ключ> <емайл>

Запускаем Компас, проверяем что всё ОК, делаем бэкап с ~/.wine-kompas ;)

P.S. Приложение работает под Wine в целом нормально и стабильно, хотя где-то неидеален вид UI. Также, иногда перестают нажиматься кнопки и вводиться текст в диалогах (свойства объектов, например), это лечится нажатием Alt+Tab.

P.P.S. Ждём официальный порт на Linux, альфу обещали уже 2023 году...

Archives

                                                                                                                                                                                                                                                                   


© Sergey A. Galin, 1998-2021 sageshome.net/blog/