import FreeCAD
Pythonコンソールでこれを行うにはどうすればよいですか?
特定のFreeCADファイルを操作できるスクリプトを作成しようとしていますが、FreeCADがインストールされているシステムのPythonコンソールにFreeCADをインポートすることもできません。
user@disp7637:~$ sudo dpkg -l | grep -i freecad
ii freecad 0.19.1+dfsg1-2+deb11u1 all Extensible Open Source CAx program
ii freecad-common 0.19.1+dfsg1-2+deb11u1 all Extensible Open Source CAx program - common files
ii freecad-python3 0.19.1+dfsg1-2+deb11u1 amd64 Extensible Open Source CAx program - Python 3 binaries
ii libfreecad-python3-0.19 0.19.1+dfsg1-2+deb11u1 amd64 Extensible Open Source CAx program - Python 3 library files
user@disp7637:~$
user@disp7637:~$ python3
Python 3.9.2 (default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import FreeCAD
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'FreeCAD'
>>> import freecad
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'freecad'
>>>
私はDebian 11を使用しています。
user@disp7637:~$ cat /etc/issue
Debian GNU/Linux 11 \n \l
user@disp7637:~$
import FreeCAD
Pythonコンソールでこれを行うにはどうすればよいですか?
答え1
あ、おっしゃった文がちょっと誇張されたようですね。
FreeCADをPythonモジュールにインポートすることもできますが、これはより複雑です。
FreeCAD自体含めるPythonは、内部状態にアクセスできるFreeCADプロセス内で実行されるスクリプトを提供します。
したがって、輸入注文のようなものが重要になり始めます。とにかく始めましょう。
これらのモジュールはFreeCADと相互に関連付けられているため、Python標準モジュールパスにはインストールされず、代わりに/usr/lib/freecad-python3/lib
Debianで見つけることができます。だから、
from sys import path as syspath
syspath.append("/usr/lib/freecad-python3/lib")
syspath.append("/usr/share/freecad/Mod/")
import FreeCAD
import Draft
/usr/lib64/freecad/lib64
ただし、他のディストリビューションはこれらのサブフォルダーのアーキテクチャ名を使用するのがより堅牢であるため、Fedoraおよび関連ディストリビューションでは少なくともx86_64のパスがあります。