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属性
按照这种方式完成其余的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文件
若当前的schema存在引用其他schema文件的情况,会提示缺少schema,如图11-20所示;选中被引用的schema文件所在的文件夹,正确之后,会将被引用和原来的文件一起打开,如附图2-15中所示原文件PBM_AssemblyDesign_leuJjb.01.00.pkpmschema.dat和被引用文件PBM_CommonData.01.00.pkpmschema.dat都被打开。


附图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路径文件获取。