MicroStation的Python API是MicroStation C++API的薄包装。如果您了解了C++API使用DGN文件和MicroStation的核心概念,那学习Python API将会得心应手。
MIcroStation Python开发者文档位于:MicroStation Python API 【注:需要登录网站后才能看到帮助内容】
Python示例可从如下位置找到:
C:\ProgramData\Bentley\PowerplatformPython\Examples\
Python管理器 对话框位于Drawing(绘图)工作流的Utilities(实用工具)卡片下。
在Python管理器对话框的工具栏中点击Create Python Project(创建Python项目) 图标。 选择一个您喜欢的目录来存储Python项目/文件。输入文件名,然后单击"保存"按钮。
在Python管理器对话框的工具栏中点击Open a Python project from disc(从磁盘打开Python项目) 图标。然后从软件自带的目录下装载Python示例项目。
从Python管理器中选择一个装载的Python项目,点击工具栏中的Run Python File(运行Python文件) 图标。
在键入窗口中输入PYTHON LOAD <文件名>
例如:
PYTHON LOAD DrawLine.py
不可以。MicroStation Python脚本需要仅随MicroStation提供的库。因此,脚本需要从MicroStation Python管理器或MicroStation中的键入命令窗口中运行。
编辑器菜单允许用户选择要使用的首选IDE(集成开发环境)。从Python管理器中选择加载的Python项目,然后从可用列表中选择首选IDE。
注意:机器上安装的IDE会自动添加到IDE列表中。
录制宏并将其升级到Python也是在MicroStation中开始使用Python的快速方法。这在录制宏文档部分有更详细的概述。录制宏的过程将捕获视图中的点、鼠标按钮和按键,以在MicroStation中执行功能。
还不能。Bentley的MSPython开发者们目前正在努力暴露MicroStation中的每个功能,所以请耐心等待。
如果一个功能在示例脚本中使用了,那它就是暴露了的。如果一个功能在MicroStation Python API 文档中列出了,那它就是暴露了的。
MicroStation Python当前(2024版MicroStation)不支持以下功能:
如果您有任何疑问或问题,寻求帮助的最佳方式是通过Bentley社区网站。从搜索开始,查找最新文档和/或现有答案。如果无法找到解决问题的信息,请考虑将编程问题发布到MicroStation编程论坛网站。或申请加入Bentley开发人员网络计划(BDN)寻求更高级的专业服务。
随MicroStation发布的是Python 3.12版本。MicroStation Python库也针对此版本进行了构建和测试。
虽然可以在MicroStation上使用不同版本的Python,但前提是它是相同的主版本,不建议使用。如果您必须使用一个不同版本的Python,则需要如下最少数量的软件包来支持MicroStation Python API正常工作的能力。它们是:
Debugpy、et-xmlfile、matplotlib、NumPy、openpyxl、pandas、PyQt5、pytest、pywin32
IronPython是一个用C#编写的Python实现,针对微软的.NET框架。它使用.NET虚拟机,即公共语言运行库。IronPython可以使用.NET框架和Python库等。.NET语言可以非常有效地使用Python代码。
参考文献:
在安装目录中键入Python --version或Python -V以显示交付的版本号。
C:\ProgramData\Bentley\PowerPlatformPython\python>Python -V
Python 3.12.3
在安装目录中键入python -m pip list。
C:\ProgramData\Bentley\PowerPlatformPython\python>python -m pip list
Package Version
----------------- ------------
asttokens 2.2.1
attrs 23.2.0
backcall 0.2.0
colorama 0.4.6
comm 0.1.3
comtypes 1.1.10
contourpy 1.2.0
cycler 0.10.0
debugpy 1.8.1
decorator 5.1.1
et-xmlfile 1.1.0
executing 1.2.0
fonttools 4.49.0
impi-rt 2021.10.0
iniconfig 1.1.1
ipykernel 6.22.0
ipython 8.12.1
ipython-genutils 0.2.0
jedi 0.18.2
jupyter_client 8.2.0
jupyter_core 5.3.0
kiwisolver 1.4.5
matplotlib 3.8.4
matplotlib-inline 0.1.6
nest-asyncio 1.5.6
numpy 1.26.4
openpyxl 3.1.2
packaging 24.0
pandas 2.2.2
parso 0.8.3
pickleshare 0.7.5
pillow 10.2.0
pip 23.3.1
platformdirs 4.2.0
pluggy 1.0.0
prompt-toolkit 3.0.38
psutil 5.9.8
pure-eval 0.2.2
Pygments 2.15.1
pyparsing 3.0.9
PyQt5-commercial 5.15.10
PyQt5-Qt5 5.15.2
PyQt5-sip 12.13.0
pyqtgraph 0.13.3
pytest 7.2.0
python-dateutil 2.8.2
pytz 2023.3.post1
pywin32 306
pyzmq 25.1.2
qtconsole 5.4.2
QtPy 2.3.1
setuptools 69.1.0
six 1.16.0
stack-data 0.6.2
tornado 6.3.1
traitlets 5.9.0
tzdata 2024.1
wcwidth 0.2.6
wheel 0.43.0
比如,要安装geojson库,可以在安装目录下,键入python -m pip install geojson。
C:\ProgramData\Bentley\PowerPlatformPython\python>python -m pip install geojson
注意:安装新库时要确保不会扰乱现有或已交付的库。
在安装目录下,键入python -m pip show pandas可找到pandas库的安装位置。
C:\ProgramData\Bentley\PowerPlatformPython\python>python -m pip show pandas
在安装目录下,键入where python。
C:\ProgramData\Bentley\PowerPlatformPython\python>where python
注意: Where是一个Windows的命令
VSCode编辑器所需的.PYI智能感知文件在如下位置:
C:\ProgramData\Bentley\PowerPlatformPython\Examples\Microstation\Intellisense\
有关在VSCode中设置智能感知的说明,请参阅MicroStation Python API 文档中标题为Using VS Code IntelliSense with MicroStation Python的部分。
在VSCode的settings.json中做如下配置:
"python.analysis.stubPath": "C:/ProgramData/Bentley/PowerPlatformPython/Examples/MicroStation/Intellisense",
"python.analysis.extraPaths": ["C:/Program Files/Bentley/MicroStation 2024/MicroStation"],