BIMBase二次开发--搭建开发环境

第一次进行BIMBase二次开发时,需要搭建开发环境,与Revit二次开发类似,很容易上手。接下来将介绍如何搭建BIMBase二次开发环境,开始BIMBase二开。

1. 先创建一个空项目,然后引入“BIMBaseNet.Geometries.dll”、“BIMBaseNet.dll”、“BIMBaseNet.UI.dll”这三个BIMBase动态链接库。

2. 编写以下代码,代码的功能是显示一个WPF窗体

using BIMBaseCS.ApplicationService;
using BIMBaseCS.Attributes;
using BIMBaseCS.Core;
using BIMBaseCS.UI;
using BIMBaseTest.Views;
using Serilog;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Interop;

namespace BIMBaseTest.BIMBaseCommands
{
    [BPExternalCommand(name = "WPFcmd")]
    public class WPFcmd : IBPFunctionCommand
    {
        public override void onExcute(BPCommandContext context)
        {
            try
            {
              
                BPDocument doc = BPApplication.singleton().activeDocument;
                MainWindow ctr = new MainWindow(doc);
                WindowInteropHelper helper = new WindowInteropHelper(ctr);
                helper.Owner = BIMBaseCS.ApplicationService.BPApplication.singleton().activeDocument.viewManager.getMainFrame();
                ctr.ShowInTaskbar = false;
                ctr.Show();

            }
            catch (Exception ex)
            {
                Log.Error($"在{MethodBase.GetCurrentMethod().ReflectedType.Name}-{MethodBase.GetCurrentMethod().Name}中,{ex}");
            }
            base.onExcute(context);
        }
    }
}

3. 在本地“C:\ProgramData\PKPM\BIMBase\Plugins\Pro\V1.5\c#plugin”路径下,放置一个修改好的的plugin文件,这个文件可以根据官方提供的例子进行修改,主要修改你编译的dll路径和Ribbon路径,详细可以看下面我提供的plugin文件

<?xml version="1.0" encoding="utf-8"?>
<BIMBasePlugins>
	<Plugin>
		<!-- 插件名称。标签不可缺少,值不可为空。插件名称要小于128字符-->
		<Name>TestDemo</Name>
		<!-- 插件描述。标签不可缺少,值可以为空-->
		<Description>APIDemo1</Description>
		<!-- 开发商信息。标签不可缺少,值可为空-->
		<VendorId>PKPM</VendorId>
		<!-- 插件开发标识。标签不可缺少,值不可为空。需要去dev.pkpm.cn申请pluginId-->
		<PluginId>FFB5E1D6-C2E7-4CE1-B1EA-FDEF6D8FC13B</PluginId>
		<!-- 插件研发基于BIMBase的版本,默认不用修改 -->
		<PluginSDKVersion>1.5.1</PluginSDKVersion>
		<!-- 插件的版本记录。标签不可缺少,值不可为空。格式要求x.x.x,由插件研发者维护,便于管理插件版本-->
		<PluginVersion>1.0.0</PluginVersion>
		<!-- 插件入口DLL。标签不可缺少,值不可为空。填写入口插件dll全路径-->
		<EntryAssembly>D:\学习文件\BIMBase开发\bin\x64\Debug\BIMBaseTest.dll</EntryAssembly>
		<!-- 其他Dll列表。需填写dll全路径。标签可缺少,值可以为空-->
		<AssemblyList>
			<Assembly></Assembly>
		</AssemblyList>
		<!-- Schema的路径。标签不可缺少,值可以为空。填写schema文件所在的文件夹路径,若所填写的路径为无效路径,则插件加载失败-->
		<SchemaPath></SchemaPath>
		<!-- SchemaVersion的版本。标签不可缺少,值可以为空。格式要求x.x,若是不符合规则,插件则加载信息失败。注意SchemaPath与SchemaVersion要么同时填写,要么同时为空,否则也会导致插件加载失败-->
		<SchemaVersion>1.0</SchemaVersion>
		<!-- 界面配置文件。标签可缺少,值可以为空。若需要在软件启动界面配置新模块,则需要配置MajorConfig文件(SDK包中有模板),并在此指定全路径-->
		<!-- MajorConfig文件命名格式要求:MajorConfig_XXX.xml 前缀MajorConfig + 自定义名称。-->
		<MajorConfig></MajorConfig>
		<!-- 加载菜单。标签可缺少,值可以为空。填写菜单dll的全路径-->
		<Ribbon></Ribbon>
		<!-- 插件作用的模块,对应MajorConfig中的NAME标签。标签不可缺少,值不可为空。指定后可在特定模块加载插件。多个使用","隔开,如“电气,BIMBase”,若为All,则作用所有模块-->
		<ActionChDomainKeys>BIMBase,二次开发CSharp</ActionChDomainKeys>
		<!-- 插件加载状态。标签不可缺少,值可为空,空则为false -->
		<LoadStatus>true</LoadStatus>
	</Plugin>
</BIMBasePlugins>

4. 启动BIMBase,在命令行输入命令名称“WPFcmd”,执行后将弹出一个WPF窗体,如图所示。

   

5.少年,从此开启你的BIMBase二开之旅吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值