本小节将为大家展示一个最基础最精简的插件是如何形成的、每个配置在何处生效、每个文件夹是做什么用的、这些基础问题将有详尽的回答。
2.1.1 BIMBase的Python路径概念及其分工
每一个软件都有自己的安装路径,同样的,BIMBase的默认安装路径一般在C:/Program Files下,BIMBase文件夹内部的PythonScript中存放着软件中与python相关的全部内容。
【python-3.7.9-embed-amd64】: 该文件夹中包含内置解释器python.exe,可以避免安装的繁琐流程,直接在Visual Studio Code中直接调用,另外在Lib/site-packages下放置numpy等众多第三方库,为编写插件提供便利。其中,pyp3d文件夹为python二次开发专用功能包,提供了丰富的造型接口并在持续不断地更新迭代。
【ParamComponentLib】:内有“构建资源库”和“行业构件库”两个文件夹,里面包含各个行业模型的python脚本和其对应的Bfa。Bfa用于定义和保存构建物件(如窗户、门、家具等)的几何形状、参数和关联逻辑等信息,可以被多次重复使用,避免了同一脚本多次运行的繁琐。
【BFAComponentLib】:存放参数化组件样例,包括直线、弧线、立方体、圆柱体、球等基本体的python实例以及相对应的Bfa,供python教学使用。
2.1.2 三步走标准插件开发
2.1.2.1 第一步-新建插件:
1. 打开BIMBase软件,在菜单栏的“插件扩展”目录下找到“插件开发”按钮

2. 点击插件开发按钮,进入VSCODE进行编辑
正常情况下会自动打开VSCODE并进入plugin文件编辑状态(部分电脑可能需要提前启动VSCODE)
如未自动启动VSCODE并弹出页面,请点击【打开源码目录】按钮

打开本地文件夹后,使用VSCODE打开对应Plugin文件。默认名称为Sample.pyplugin
请注意,如果文件打开出现乱码,需要在右下角选择UTF-8格式并重新打开文件。Visual Studio Code截图如下所示

2.1.2.2 第二步-插件开发和菜单配置:
插件包内配置文件职责及功能如下
【model.py】:模板文件model.py以最简单的Cube脚本为例,包含了立方体的参数设置、造型以及布置流程
【SystemConfig_BIMBase.pyplugin】:该文件本质为xml格式,清晰地描述插件的含义和结构,包含了插件菜单配置信息以及所需的python脚本。插件共分为两种类型,一种为执行python脚本,另一种则为跳转至对应的Bfa构件库文件。具体内容如下图所示:

第一行是pyplugin文档声明,该声明为必须条件,它定义了文档的版本和所使用的字符编码。
【BfaLibName】:若插件类型为跳转至Bfa构件库,该字段应填写对应的Bfa文件夹,该字段可为空。
【PluginVersion】:记录Plugin的版本信息,当前为1.0.6版本,该值不可为空。
【LoadStatus】:描述当前插件的加载情况,默认为true,即软件启动时便同时加载,若修改为false,则做过滤处理,不予加载。
【Category】:该字段内部包含ribbon的配置信息,包含目录、面板、按钮的名称,用户可自由操作该插件在菜单中显示的位置。以上图为例,在菜单中点击“cube”按钮后,即执行model.py脚本。iconPath为插件按钮的图标位置,该值不可为空。
【command】:该配置字段最为关键,决定了此配置按钮点击后执行哪个python脚本文件
模型脚本model.py
- 此部分详细介绍见《BIMBase参数化组件2.0使用与教学手册》,里面清晰的讲解了如何使用python进行构件的造型编写及丰富的接口方法。另外,用户还需要在Visual Studio Code中配置python解释器,具体方法见文本章节1.1.3,配置完成后,点击右上方的按钮即可运行

- 此部分详细介绍见《BIMBase参数化组件2.0使用与教学手册》,里面清晰的讲解了如何使用python进行构件的造型编写及丰富的接口方法。另外,用户还需要在Visual Studio Code中配置python解释器,具体方法见文本章节1.1.3,配置完成后,点击右上方的按钮即可运行
此时回到BIMBase软件中,可以看到立方体已经生成,用户可以把它布置在任何位置。

2.1.2.3 第三步-插件加载进BIMBase:
至此,插件开发完毕,但是——
如何将插件加载到BIMBase软件内呢?
在用户开发,编辑和修改插件的过程中,相关文件都存放在“C:\ProgramData\PKPM\BIMBase\Plugins\Pro\V1.6\pythonplugin”文件夹中(版本号随软件更新而变动)
1.如何快速更新插件至Ribbon菜单
当我们编辑好脚本和pyplugin文件后,BIMBase建模软件的菜单中并不能第一时间立刻显示出我们的插件。我们需要在BIMBase建模软件的命令行中输入以下命令并回车,即可刷新菜单栏,无需重新启动BIMBase建模软件。
命令如下:refreshRibbonAll
(命令无需区分大小写)
2. 插件排序
用户可通过修改文件夹名称来改变插件按钮对应的位置:

3.排序方式
文件夹名称前方的数字代表插件在菜单中的顺序,可以方便快捷的在软件菜单内使用自己创建的插件。帮助应始终在菜单的最后位置,修改后重新启动BIMBase,菜单位置如下图所示:
