利用C#进行AutoCAD的二次开发(二)_第1页
利用C#进行AutoCAD的二次开发(二)_第2页
利用C#进行AutoCAD的二次开发(二)_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、           大家好,今天我继续给各位介绍利用C#进行AutoCAD的二次开发。在这一讲中,主要介绍上一讲例子中存在的问题。         首先来看第二个难题,按以下步骤来进行:1.        随便用Visual Studio .NET建立一个C#应用程序,然后按照上一篇文章中的设置加入AutoCAD 2004 Type Librar

2、y,然后不加入任何代码,编译你的程序。3在记事本中打开Interop. AutoCAD.il文件,然后查找结尾是“SinkHelper”而开头为 ".class private auto ansi sealed _DAcad“的语句,把语句中的private 改为public,然后保存Interop. AutoCAD.il文件。5显然你不愿意每次编写应用程序时都通过上一篇文章中介绍的方法来加入Interop. AutoCAD.dll,那太麻烦了。你可以用下面的方法来让程序自动加入该文件:找到C:Program FilesMicrosoft.NET Primary Interop As

3、semblies 文件夹,然后把上面生成的       好了,第二个问题解决了,接下来看第一个。       在VBA中,编程者可以使用GetObject函数来获得当前活动的AutoCAD对象,但在C#中却没有,为了这个函数我几乎把MSDN给翻遍了,然后去各种C#论坛问各位高手,结果都没得到解决,呵呵,可能国内使用C#的人比较少吧。还是在老外的论坛上看到了一篇就是讲这个问题的文章才把这个难题给解决了。使用下面的语句就可以获得当前活动的AutoCAD对象了: 

4、0;   (对于CAD2000和CAD2002,则把16改为15)当然以上语句必须在AutoCAD打开的情况下才能使用,否则会发生错误,对于AutoCAD没打开的情况,可以使用上一篇文章的方法来处理。完整的连接AutoCAD与C#的源程序如下所示:using System;using AutoCAD;namespace AcadExample   public class AutoCADConnector : IDisposable         private AcadApplic

5、ation _application;      private bool _initialized;      private bool _disposed;      public AutoCADConnector()               try     &

6、#160;               / Upon creation, attempt to retrieve running instance                  catch          

7、0;          try                           / Create an instance and set flag to indicate this               _application =  new AcadApplicationClass();               _initialized = true;              &#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论