欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用Nuget快速集成.Net三维控件

程序员文章站 2022-05-17 08:52:55
据老一辈的程序员说开发三维程序门槛很高,需要学若干年才能入门,自从遇上AnyCAD三维控件后,开发三维应用变的简单了。当结合nuget后,一切更简单了。 ......

 

据老一辈的程序员说开发三维程序门槛很高,需要学若干年才能入门,自从遇上anycad三维控件后,开发三维应用变的简单了。当结合nuget后,一切更简单了。

1 准备工作

安装vs201x以后,就可以开始开发了。

1.1 创建winform工程

如果是跟已有的项目集成,就可以跳过此步。

使用Nuget快速集成.Net三维控件

1.2 使用nuget添加anycad三维控件

使用nuget安装可以自动添加anycad程序集引用。

使用Nuget快速集成.Net三维控件

1.3 设置项目属性

为保障三维应用的性能,建议使用x64

使用Nuget快速集成.Net三维控件

2 开始写代码

2.1 在窗体上添加控件容器

可以使用panel这样的container控件来存放三维控件。

使用Nuget快速集成.Net三维控件

2.2 创建三维控件

    public partial class form1 : form
    {
        renderwindow3d mrenderview;
        public form1()
        {
            initializecomponent();

            mrenderview = new renderwindow3d();
            this.splitcontainer1.panel2.controls.add(mrenderview);
            mrenderview.dock = dockstyle.fill;

        }
    }

2.3 运行

使用Nuget快速集成.Net三维控件

3 扩展到cad浏览器

3.1 打开step文件

增加打开文件菜单,在处理函数中增加以下代码:

        private void opentoolstripmenuitem_click(object sender, eventargs e)
        {
            openfiledialog dlg = new openfiledialog();
            dlg.filter = "step file (*.stp;*.step)|*.stp;*.step||";
            if (dialogresult.ok != dlg.showdialog())
                return;

            var shape = globalinstance.breptools.loadfile(new path(dlg.filename));
            if (shape != null)
            {
                int myobjectid = 100;
                mrenderview.showgeometry(shape, myobjectid);
            }
        }

3.2 运行测试

打开一个step文件测试一下:

使用Nuget快速集成.Net三维控件

4 小结

通过使用nuget包管理工具,简单基本就可以实现与anycad三维控件集成,再加几行代码就可以开发一个cad模型浏览程序。 更多的功能请参考anycad的github代码仓库,那里有丰富的示例,尤其是:https://github.com/anycad/appfeatures。