当前位置: 代码迷 >> 综合 >> MicroStationCE 二次开发+学习笔记
  详细解决方案

MicroStationCE 二次开发+学习笔记

热度:92   发布时间:2024-01-24 08:57:50.0

开发平台:VS2015

软件:MicroStation CE(Update 7)

 

案例一:HelloWord程序

1.新建工程--》C#--》Class Library--》.NET Framework 4.6.1

2.修改编译生成DLL文件存放路径

   -打开项目属性,Build--》output--》output path 设置该路径为MicroStationCE路径

   -例:C:\Program Files\Bentley\MicroStation CONNECT Edition\MicroStation\Mdlapps\

3.添加引用

   -System.Windows.Forms

4.添加动态链接库(在添加引用对话框里面)

…\MicroStation\Bentley.DgnDisplayNet.dll…\MicroStation\Bentley.DgnPlatformNET.dll…\MicroStation\Assemblies\ECFramework\Bentley.EC.Persistence3.dll…\ MicroStation\Assemblies\ECFramework\Bentley.ECObjects.Interop3.dll…\MicroStation\Assemblies\ECFramework\Bentley.ECObjects3.dll…\MicroStation\Assemblies\ECFramework\Bentley.ECSystem3.dll…\MicroStation\Assemblies\ECFramework\Bentley.General.1.0.dll…\MicroStation\Bentley.GeometryNET.dll…\MicroStation\Bentley.GeometryNET.Common.dll…\MicroStation\Bentley.GeometryNET.Structs.dll…\MicroStation\Assemblies\Bentley.Interop.MicroStationDGN.dll…\MicroStation\Assemblies\Bentley.MicroStation.dll…\MicroStation\Assemblies\Bentley.MicroStation.Interfaces.1.0.dll…\MicroStation\Assemblies\Bentley.MicroStation.Ribbon.dll…\MicroStation\Assemblies\Bentley.MicroStation.WPF.dll…\MicroStation\Assemblies\ECFramework\Bentley.Platform.dll…\MicroStation\Assemblies\ECFramework\Bentley.UI.dll…\MicroStation\Assemblies\ECFramework\Bentley.Windowing.dll…\MicroStation\ustation.dll

5.修改主类代码

using Bentley.MstnPlatformNET;          
using System.Windows.Forms;   namespace csAddins
{internal sealed class MyAddin : AddIn{public static MyAddin Addin = null;private MyAddin(System.IntPtr mdlDesc) : base(mdlDesc){Addin = this;}protected override int Run(string[] commandLine){MessageBox.Show("Hello World!");return 0;}}
}

要使一个.NET程序集能够作为Addins在Mstn下运行,需要满足如下三个条件:①包含有一个派生于Bentley.MstnPlatformNET.Addin的类;②该派生类必须提供一个单参数(IntPtr类型的MDL描述符)的构造函数,且该构造函数需要链接到基类构造函数上;③该派生类必须覆盖Addin基类中的虚方法Run()。以上对MyAddin类的定义正是满足了这三个基本条件。

6.现在来验证我们的Addin程序。请启动Mstn,点击如下图所示的图标打开key-in窗口(或通过F9快捷键打开),在键入域中键入MDL LOAD csAddins并回车,此时应该能看到一个写着“Hello World!”的消息框弹出来。