选择显示字体大小

利用c#进行autocad的二次开发(一)

    众所周知,对autocad进行二次开发用到的主要工具有:objectarx,vba,vlisp。但它们的优缺点是显而易见的:objectarx功能强大,编程效率高,但它的缺点是编程者必须掌握vc++,而这门语言非常的难学;vba和vlisp虽然简单易上手,但它们对于开发大型的程序好象无能为力。 那究竟有没有一种语言能结合它们的优点而尽量避免它们的缺点呢? 回答是肯定的,那就是微软新推出的21世纪编程语言c#。关于c#的详细介绍,大家可以参考有关的文章。
  c#是通过autocad activex 这座桥梁来和autocad之间进行通讯的。autocad activex 使用户能够从 autocad 的内部或外部以编程方式来操作 autocad。它是通过将 autocad 对象显示到“外部世界”来做到这一点的。一旦这些对象被显示,许多不同的编程语言和环境就可以访问它们。关于autocad activex 的情况,大家可以参考autocad自带的帮助。
  呵呵,说了这么多无聊的,还是让我们通过一个具体的例子来说明怎样利用c#进行autocad的二次开发吧。在介绍例子之前先讲一下有关的配置:
(1)visual studio .net (2003和2002都可以,我用的是2002)

(2)autocad2000以上版本(我用的是2004)
  这个例子非常简单,就是通过c#建立的窗体来启动autocad并画一条直线。下面是编程的具体步骤:
(1)通过visual studio .net 建立一c#的windows应用程序。
(2)在“解决方案资源管理器”中右击“引用”标签,在弹出的菜单中选择“添加引用”,在“添加引用”对话框中选择“com"选项卡下的下拉列表框中的“autocad 2004 type library"项(注意:不同版本的cad的数字不同),单击右边的“选择”按钮,最后单击下面的“确定”按钮。
(3)在c#窗体中加入两个文本框和一个按钮,分别用于输入直线起点、终点的坐标和在cad中画直线。下面主要解释一下添加的代码。
(a)在程序的开头加入:using autocad;//导入autocad引用空间
(b)在窗体的变量声明部分加入: private acadapplication a;//声明autocad对象
(c)在窗体的构造函数部分加入:a=new acadapplicationclass();//创建autocad对象
                    a.visible=true;//使autocad可见
(d)在按钮的消息处理函数中加入:
double[] startpoint=new double[3]; //声明直线起点坐标
double[] endpoint=new double[3];//声明直线终点坐标
string[] str=textbox1.text.split(',');//取出直线起点坐标输入文本框的值,文本框的输入模式为"x,y,z"
for(int i=0;i<3;i++)
startpoint[i]=convert.todouble(str[i]);//将str数组转为double型
    str=textbox2.text.split(',');//取出直线终点坐标输入文本框的值
for(int i=0;i<3;i++)
endpoint[i]=convert.todouble(str[i]);
a.activedocument.modelspace.addline(startpoint,endpoint);//在autocad中画直线
   a.application.update();//更新显示
好了,简单吧,你可以试着编译一下。关于上面一些语句的用法,我会在下一讲中作详细介绍。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons