欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

BIMBase C++ 二次开发 - 学习笔记 2

最编程 2024-03-15 11:17:05
...

二、BIMBase API 基础

使用BIMBase API的基础知识

① 外部命令和工具的注册;

② Application和Project获取和保存数据;

③ 配置自己的专业和插件加载。

1、外部命令和工具

BIMBase API是建立在BIMBase产品的基础之上的,它是一个类库,需要在BIMBase运行时才能工作。

外部命令及注册

插件开发者可以通过函数注册实现自己的命令。

① BIMBase API中的外部命令包括:外部函数、布置工具、选择工具三类。

②外部函数:用户可通过实现自己的函数并注册到平台来实现自己的命令,注册时需定义该命令的名称,该名称可在命令行直接输入,也可在菜单上加载。

③注册( 此方法目前没开放

BIMBase通过后缀名为.plugin的文件(XML格式)来实现注册。BIMBase会在启动时自动搜索下列目录下的.plugin文件进行加载。

C:\ProgramData\Pkpm\Bimbase\Plugins\v1.0\c++plugin\

【参考样例】


<?xml version="1.0" encoding="utf-8"?>
<BIMBasePlugins>
  <Plugin>
    <Name>Examples</Name>
    <Text>Examples</Text>
    <Description>Examples</Description>
		<Assembly>D:\BIMBase\Project\MyBIMBase\MyBIMBase\bin\x64\Debug\Examples.dll</Assembly>
		<PluginId>aa20eac1-9c45-49f3-8817-3c8a46948dc6</PluginId>
		<VendorId>PKPM</VendorId>
		<VendorDescription>PKPM</VendorDescription>
	</Plugin>

</BIMBasePlugins>

在BIMBase的类结构中,应用类和文档类是处于最顶层的,他们主要为BPApplication和BPProject这两类。 (1) 一个应用对象对应一个独立的BIMBase会话;(2) 一个工程对象对应一个独立的BIMBase工程文件。

2、BIMBase应用类

BPApplication表示一个BIMBase应用,提供对工程文件管理器、事务管理器的访问。

  • ①  工程文件管理器
    用户可以通过 getProjectManager接口获取IBPProjectManager对象,通过IBPProjectManager的方法实现工程的打开、获取、保存、关闭等。
  • ②  事务管理器
    用户可以通过 getTransactionManager接口获取BPTransactionManager对象,通过BPTransactionManager的方法实现事务的管理与创建等。

3、BIMBase文档类

BPProject类用于表示打开的BIMBase工程。BPProject对象用于存储BIMBase的元素、管理Model和数据。

  • 1) 工程信息
    用户可以通过BPProject获取工程文件全路径、Guid等信息;
  • 2) 获取元素
    用户可以通过BPEntityId获取对应的元素;
  • 3) 图层管理
    一个BIMBase工程可以有多个图层,所有的图形对象都保存在图层上,通过BPProject类创建、查找、删除图层。

4、事务处理

BIMBase会在调用外部命令之前自动创建一个事务,并且该事务会在外部命令结束时提交。在一个事务中进行的所有修改都能被撤销。 BIMBase API提供BPTransactionManager类用于管理事务。

三、简单应用开发简介

  • 应用1:“Hello BIMBase” 介绍如何用BIMBase API创建一个插件。
  • 应用2:用BIMBase API 实现一个两点画线功能。

1、如何用BIMBase API创建一个插件

步骤一:打开Visual Studio 2019,新建C++动态链接库项目,如图所示

步骤二:添加库引用(引入SDK)

  • ① 将SDK拷贝到HelloBimbase.sln所在文件夹的同级目录下 ……………………………………………………………………

C++SDK暂时还没提供,无法练习。