現時点で公開されているFreeCADの安定公開版のヴァージョンは0.17で、DEXCS2018 for OpenFOAM(R)にも搭載されているのですが、Arcワークベンチにパイプツールというのがあって、Windows版ではちゃんと機能するんですが、Linux版というかDEXCS上では機能してくれません。
一方、FreeCADには開発版がリリースされており、少し前に入手したVer-0.18やVer-0.19では、上記機能もちゃんと使えたので、これにアップデートし、とある仕事では活用出来ました。
しかし最近のFreeCADのLinuxバイナリ版はAppImageという形式で配布されており、DEXCS2018からもこのAppImageをベースに、メニューなどもカスタマイズされており、アップデートは簡単ではありません。
つまり、基本的には入手したAppImageを直接実行して最新VerのFreeCADを起動できるのですが、それだけではDECXSのメニューバーから起動したり、FreeCADで作成したファイル(.fcstd)を直接ダブルクリックして起動することは出来ないということです。
なお、AppImageUpdateというアップデートツールがあって、これを使うとAppImageそのもののアップデートをやってくれるようですが、現時点ではうまく動いてくれておりません。まぁ、そのうちにちゃんと機能するようにはなると思うので、次回(DEXCS2019〜)はこれを使うという前提でパッケージを考えますが、DEXCS2018の作成時点ではこの情報も知らなかったので、手探りでメニュー回りをカスタマイズしてあり、アップデートが簡単でないのは尚更でした。
そこで以下アップデート備忘録です。
安直なVerUp方法
入手したAppImageファイルを既存のファイル(FreeCAD-13522.glibc2.17-x86_64.AppImage)と同一の名前に変更して使用する。
$ sudo mv [FreeCAD_verUp].AppImage /opt/
$ sudo rm /opt/FreeCAD-13522.glibc2.17-x86_64.AppImage
$ sudo mv [FreeCAD_verUp].AppImage /opt/FreeCAD-13522.glibc2.17-x86_64.AppImage
上記、[FreeCAD_verUp]の部分は、入手して自身の環境で動作確認出来たAppImageの名前に置き換えて実施して下さい。
もう少しちゃんとしたVerUp方法
前項の方法だと、ファイル名でVer確認出来なくなってしまいますね。また、Verを戻すことも出来ません。
入手したAppImageファイルを名前もそのまま使って、DEXCSでカスタマイズしてある部分を書き換えるのが真っ当なやり方でしょうね(カスタマイズの舞台裏備忘録ということです)。ついでに、DEXCS2018では、よく解らないままのやっつけ仕事だったので、次のDEXCS2019では、もうちょっとちゃんとやってみようと、その試行版です。
まずは、カスタマイズの実体を確認。
つまり、freecadというコマンドでFreeCAD-13522.glibc2.17-x86_64.AppImageを実行できるようにしていることと、メニューボタンからAppImageを起動できるように、~/.local/share/applications/appimagekit-freecad.desktopにおいて、AppImageの実体ファイル名(FreeCAD-13522.glibc2.17-x86_64.AppImage)を直接指定してあるということです。
この直接指定をやめて汎用的な名前(FreeCAD.AppImage)で指定する。つまり入手したVerUp版AppImageファイルを/opt/フォルダに移動して、これをFreeCAD.AppImageというシンボリックリンクで参照できるようにしてやれば、VerUpした際に、このシンボリックリンクを作り直すだけで済むとなる。
$ sudo mv [FreeCAD_verUp].AppImage /opt/
$ sudo ln -s /opt/[FreeCAD_verUp].AppImage /opt/FreeCAD.AppImage
異なるVerのAppImageを同梱しておいて、上記シンボリックリンクを作り直す事で使い分けすることも可能になる。
前記カスタマイズファイル中の実体ファイル名の部分を、FreeCAD.AppImageという名前に置き換えるには、以下のようにすればよい。
$ sudo rm /usr/bin/freecad
$ sudo ln -s /opt/FreeCAD.AppImage /usr/bin/freecad
$ sed -e “s/FreeCAD-13522.glibc2.17-x86_64/FreeCAD/g” ~/.local/share/applications/appimagekit-freecad.desktop > ~/.local/share/applications/tmp.txt
$ mv ~/.local/share/applications/tmp.txt ~/.local/share/applications/appimagekit-freecad.desktop
なお、 ~/.local/share/applications/フォルダ中、FreeCAD関連で使用していないdesktopファイルがあり、後の作業で邪魔になるので、これらを削除しておく。
$ rm ~/.local/share/applications/fcstd.desktop
$ rm ~/.local/share/applications/freecad.desktop
おまけ
FreeCADを端末からコマンドラインで起動すると、
と警告が出る。致命的ではなさそうだが鬱陶しい。以下にて解消できる。
$ sudo apt install libcanberra-gtk-module libcanberra-gtk3-module
注記
FreeCADのAppImageは、AppImageUpdateというアップデートツールがあって、基本これでアップデートできるはずだが、現時点では機能していない。
一方、githubのページから主要Ver毎に直接ダウンロード出来るようにはなっているが、Linux版についてはVerに応じてリリース情報があったりなかったりする。1ヶ月ほど前には、
FreeCAD_0.18.16093.glibc2.17-x86_64.AppImage
を入手できたが、現在(2019/4/10)ではそのリンクは存在せず、
FreeCAD_0.19.16207_Conda_Py3Qt5_glibc2.12-x86_64.AppImage
が使えている。
筆者の環境では、一応どちらも動いてくれてはいる。一応としたのは、環境によって、具体的には、
- 仮想環境かそうでないかの違い
- 仮想環境の違い(VMPlayer / VirtualBox / …)
- ライブモードかそうでないかの違い
- グラフィック3Dアクセラレータの使用有無
等の違いによっては動かない(すぐ落ちる、あるいは固まってしまう)事もあるということ。上記2つのヴァージョンの動作も、これらの環境次第で挙動が変わる。
したがって、実際に使用予定の環境での動作する事を確認してからインストール作業することを推奨する。