Schema编辑器是对二进制schema文件进行编辑的工具,其中schema文件是指用于记录需要存储的自定义字段的文档。
Schema编辑器,主要具有如下三部分功能:
- 基于界面交互编辑二进制schema文件;
- 编辑时有效性检查及提示功能;
- APIKey标识读写权限和辅助标识schema文件名称。
2.1 登录APIKey
APIKey标识名仅用于使用者管理区分APIKey,不影响Schema具体业务内容。
APIKey码可通过申请获得(https://dev.pkpm.cn/DownloadSDK ),APIKey码中的关键信息会以字段Identification保存到Schema文件中。APIKey提供读写权限管理,当输入的APIKey信息与Schema中Identification字段保存的信息不一致时,登录者仅对打开的Schema文件只有读权限,可查看不可编辑。

附图2-1 验证APIKey

附图2-2 验证后schema编辑器界面
2.2.1 Schema首部信息

附图2-3 输入新建schema首部信息

附图2-4 显示新建schema
2.2.2 Reference信息
选中左侧树控件的Reference后点击右键,弹出“增加引用schema”,后选择待引用的scehma。注:引用前需要先打开需引用的schema。本开发资料所需打开的文件为PBM_CommonData.01.00.pkpmschema.dat,其储存在BIMBase建模软件中的BIMBasePlatform文件中。


附图2-5 新建Reference
2.2.3 Class描述与属性信息
首先,鼠标右键点击classes选项,点击新增class,可根据需要修改Class的名称,方便后续文件管理,接着需要对BaseClass进行BIMBase的类文件添加,例如代码3-5中代码片段class CubeTest : public BIMBase::Data::BPGraphicElement
,所需添加的类为BPGraphicElement
。



附图2-6 新建Reference
之后需要将成员添加入文件属性,例如CubeTest文件中,依次需要添加Length、Width与Height。属性注意添加时需要修改Type类型。

附图2-7 新建class属性初始状态

附图2-8 新建class属性
2.2.4 Relationship Class信息
需要创建关联关系时,需要在schema里定义Relationship Class,其他情况不用定义。

附图2-9 新建Relationship Class

附图2-10 Relationship Class增加关联约束
2.2.5保存schema
保存schema时,无权限编写的schema不会重新保存,保存的文件名称为PBM_AssemblyDesign_leuJjb.01.00.pkpmschema.dat。
需要说明。点击保存按钮时,按如下情况处理:
(1) 打开有权限的schema执行保存时,保存在原路径;
(2) 打开无权限的schea执行保存时,不执行保存操作,不影响源文件内容;
(3) 新建schema执行保存时,执行另存为操作,需要选择保存路径。
2.3.1 APIKey读写权限

附图2-11 可编辑权限

附图2-12 不可编辑权限
2.3.2引用缺失提示
验证通过后,点击上侧功能栏的打开按钮,在弹出的对话框中选择待打开的文件,文件尾缀的格式为.pkpmschema.dat,此处打开PBM_AssemblyDesign.pkpmschema.dat文件。

附图2-13 打开schema文件

附图2-14 缺少引用文件


附图2-15 手动选择被引用文件夹
2.4 执行插件
<?xml version="1.0" encoding="utf-8" ?>
<BIMBasePlugins>
<Plugin>
<Name>MyBIMBase</Name>
<Description>MyBIMBase</Description>
<!-- 入口DLL以及插件其他模块的列表 -->
<EntryAssembly>[路径]\MyBIMBase.dll</EntryAssembly>
<SchemaPath>[路径]</SchemaPath>
<!-- SchemaVersion的版本 -->
<SchemaVersion></SchemaVersion>
<!-- ribbon的DLL,值可以为空-->
<Ribbon></Ribbon>
<!-- 插件作用的专业,多个使用","隔开 <ActionChDomainKeys>电气,BIMBase</ActionChDomainKeys>-->
<ActionChDomainKeys>BIMBase</ActionChDomainKeys>
<!-- 界面配置文件,值可以为空 -->
<MajorConfig></MajorConfig>
<!-- 插件研发基于BIMBase的版本 -->
<PluginSDKVersion>1.2.0</PluginSDKVersion>
<PluginVersion>1.0.0</PluginVersion>
<PluginId>[网站申请的pluginId]</PluginId>
<VendorId>PKPM</VendorId>
<LoadStatus>true</LoadStatus>
</Plugin>
若想成功使用插件,需要将schema文件的储存路径添加到<SchemaPath>[路径]</SchemaPath>
此处,注意不需要包含schema的文件名,保留上一级路径即可。此外,须在<SchemaVersion></SchemaVersion>
添加schema版本号,版本号形式目前为1.0,可从schema路径文件获取。