栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

Microstation二次开发——画直线

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Microstation二次开发——画直线

MicroStation是Bentley 工程软件系统有限公司在建筑、土木工程、交通运输、加工工厂、离散制造业、政府部门、公用事业和电讯网络等领域解决方案的基础平台。最近学习Bentley  系列软件发现该系列软件做线性工程极其方便,且该系列大都数软件都基于Microstation平台进行开发的 。Microstation二次开发有三种方法,一是利用VBA进行开发,二是利用C#进行开发叫Addins,三是利用C++进行开发叫MDL。MDL相对来说开发难度较大,但是能够实现的功能也更多。如果用C#开发,借助Visual Studio和.NET平台,开发环境配置非常方便。

本人尝试利用C#进行开发来实现在MicroStation软件中画直线。

开发平台:VS2017 .NET Framework 4.7

软件:MicroStation CE(Update 14)

添加动态链接库:

…MicroStationBentley.DgnDisplayNet.dll

…MicroStationBentley.DgnPlatformNET.dll

…MicroStationAssembliesECFrameworkBentley.EC.Persistence3.dll

… MicroStationAssembliesECFrameworkBentley.ECObjects.Interop3.dll

…MicroStationAssembliesECFrameworkBentley.ECObjects3.dll

…MicroStationAssembliesECFrameworkBentley.ECSystem3.dll

…MicroStationAssembliesECFrameworkBentley.General.1.0.dll

…MicroStationBentley.GeometryNET.dll

…MicroStationBentley.GeometryNET.Common.dll

…MicroStationBentley.GeometryNET.Structs.dll

…MicroStationAssembliesBentley.Interop.MicroStationDGN.dll

…MicroStationAssembliesBentley.MicroStation.dll

…MicroStationAssembliesBentley.MicroStation.Interfaces.1.0.dll

…MicroStationAssembliesBentley.MicroStation.Ribbon.dll

…MicroStationAssembliesBentley.MicroStation.WPF.dll

…MicroStationAssembliesECFrameworkBentley.Platform.dll

…MicroStationAssembliesECFrameworkBentley.UI.dll

…MicroStationAssembliesECFrameworkBentley.Windowing.dll

…MicroStationustation.dll

主类代码:

using System.Windows.Forms;

using Bentley.Interop.MicroStationDGN;

using Bentley.MstnPlatformNET;

using Bentley.MstnPlatformNET.InteropServices;

namespace ClassLibrary2

{

    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)

        {

            Bentley.Interop.MicroStationDGN.Application app = Utilities.ComApp;

            Point3d startPoint = app.Point3dZero();

            Point3d endPoint = app.Point3dOne();

            LineElement line = app.CreateLineElement2(null, startPoint, endPoint);

            app.ActiveModelReference.AddElement(line);

            return 0;

        }

    }

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/910932.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号