基于C#的AutoCad二次开发--第一章--环境搭建及几种二开模式.pdfVIP

  • 5
  • 0
  • 约2.14千字
  • 约 3页
  • 2024-01-12 发布于河南
  • 举报

基于C#的AutoCad二次开发--第一章--环境搭建及几种二开模式.pdf

基于C#的AutoCad⼆次开发--第⼀章--环境搭建及⼏种⼆开模式

Autocad的开发形式包括visuallisp、objectarx、vba、.Net等等,其中基于.Net平台的C#语⾔学习曲线较为平缓,使⽤该语⾔进⾏AutoCad

的⼆次开发效率较⾼。

本⽂主要记录了使⽤C#进⾏AutoCad⼆次开发的环境搭建和⼏种⼆次开发的模式。

学习资料:1.Autocad.Net开发指南(中⽂版),此为欧特克公司提供的官⽅⽂档;

2.AutoCad官⽹,在开发⼈员板块可以查阅官⽅提供的各种类库;

3.b站的AutoCad_C#⼆开视屏,链接如下:

百度,4.google

软件配置:Autocad2014+objectarx2014+AutoCAD_2014_dotnet_wizards+vs2013;

注:此配置不是唯⼀的,因为.NET框架可向下兼容;

第⼀节:搭建环境

1.1创建项⽬

在vs中创建⼀个类库项⽬,适⽤于.dll和对话框应⽤程序的开发。

1.2引⽤类库

从objectarx2014中引⼊下图所⽰类库,并且对于所有类库,右击-属性-复制到本地-false;

1.3框架及⽬标平台

做完上述操作,建议先不要动项⽬的框架及⽬标平台(右击-项⽬-应⽤程序or⽣成),如果编译出问题,再调整这两项,即注意:平台要

与Autocad相匹配:是x64orx32;框架也要相匹配,看是否和当前Autocad版本相兼容。

第⼆节:代码编写

在正式写代码之前,需要了解你想做哪种形式的Cad⼆次开发,如:.dll;Ribbon;对话框应⽤程序等等。不同形式的开发,其代码编写也

有所不同。

2.1载⼊动态链接库(.dll)

这应该是较为常⽤的,且⽐较简单快捷的⼀种开发形式。可以⽤其来编写⼀些⼩的功能,类似于在Cad下⽅的编辑框中输⼊⼀些命令

(Command)。

具体开发如下:

在publicclassxxx下⽅编写:下⽅编写:

可以理解为:当写完代码并加载⾄cad后,在编译框键⼊命令xxx,从⽽执⾏操作。⾄于具体执⾏什么操作,

这要根据下⾯的xxx⽅法具体的算法逻辑了。

publicvoidxxx()//编写期望cad具体执⾏的操作。

{

xxxxxx;

}

注:以上只是⼀个模板,具体可参照《Autocad.Net开发指南》上的例⼦。

2.2对话框应⽤程序

本质上,这也是⼀个类库项⽬,与2.1节类似,也是先编译⽣成⼀个.dll格式的动态链接库,然后再通过NETLOAD命令加载⼊Cad中,随后

键⼊xxx命令,执⾏操作。但是,与上述开发形式相⽐,其与⽤户之间的交互模式更为友好。

⼀般地,当键⼊xxx命令后,cad会弹出⼀个对话框,通过点选按钮的⽅式,让cad执⾏具体操作。

具体开发如下:(注:仅为模板)

1.创建⼀个类库项⽬;

2.添加窗体⽂件,并在类库中编写类似如下的代码:

publicclassClass1

{

[CommandMethod([CommandMethod()]

publicvoidDialogDemo()

{

Form1f1=newForm1();//创建窗体实例

f1.ShowDialog();//弹出对话框,注意与show的区别

}

}

3.为了实现:当点击按钮,从⽽触发事件这⼀操作,

需要编写事件中命令cad所做的具体操作逻辑,这就需要单独编写⼀个或多个类,可以添加⼀个类⽂件,将他们放在其中。

4.最后,为了点击按钮后能够触发相应的事件,在事件处理器中需要添加类似如下的代码:

privatevoidbtnDrawToCad_Click(objectsender,EventArgse)

{

MyEntitesm1=newMyEntites((double)numericUpDown1.Value,(double)numericUpDown2.Value,(double)numericUpDown3.Value);//创建⼀个实例;

datatool.AddEntity(m1.Ents);//将list作参数载⼊,将创建

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档