创建Project

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建Project相关的知识,希望对你有一定的参考价值。

Civi3D (AutoCAD)二次开发的plugin,实际上很简单,只是一个普通的.NET Assembly DLL。因为需要调用AutoCAD以及Civil3D的.NET API,因此需要reference这些product的.NET API DLL。除此之外并没有什么特别的。

创建Project有几种方式:

第一种是最正统的方式,即使用Autodesk提供的AutoCAD 2017 DotNet Wizards,我们可以用http://usa.autodesk.com/adsk/servlet/index?id=1911627&siteID=123112 下载。

安装好这个Wizard之后,Visual Studio中会多出一种project type,如下图所示:

技术分享

这个Wizard支持AutoCAD以及基于AutoCAD的各个产品,比如Civil3D,Map3D等。直接创建这种project之后,还需要选择一些要reference的DLL。

技术分享

其中AutoCAD的三个DLL必须reference,分别是AcDbMgd,AcMgd和AcCoreMgd,而Civil3D的project需要另外reference两个DLL,分别是AecBaseMgd和AeccDbMgd。

技术分享

第二种方式其实也很简单,只要你去创建一个普通的Windows Class Library project,然后reference一下上面提到的这些DLL(这些DLL都可以从Civil3D的安装目录下找到),并且设置一下“Copy Local”为False。

技术分享

作为二次开发plugin,我们一般会定义一些command,来作为功能的入口。定义命令也很简单,只需要在类的函数前加上CommandMethod这个Attribute即可,例如

技术分享

就定义了一个命令“MyGroup”。

第三种更简单的方式是,你预先定义好一个project template,把project里的.NET Framework已经需要reference的DLL都设置好,当需要创建一个新project的时候,直接把这个template project拷过来,改个名字就好了。这是最简单而且不容易出错的方式。后面我会创建好这些template projects并且上传到github。

以上是关于创建Project的主要内容,如果未能解决你的问题,请参考以下文章

delphi MDIChildForm 最大化出错问题

how to

SVN命令详解

vs2013 solution文件解析

Hibernate/MySQL 批量插入问题

PL/SQL 函数错误 - 无法理解