使用C#.NET对CAD进行二次开发——编程环境

王侃 发表于 2013-5-2 18:23:48 | 显示全部楼层 | 阅读模式
一、必备的开发工具与技能
    1、建议采用C#语言。
        语言基础是必备的,如果你没有编程经验,那么从这门语言入手也不会太难。有点类似于VB和JAVA的中间版。
        其实开发CAD的语言有很多,例如LISP、VBA及C++。
        LISP语言的特点是简洁,但同时它仅仅是CAD提供给开发者的语言,如果你的程序需要多项技术(例如和EXCEL交互、和数据库交互等)或者将来会是一个大家伙,那么不推荐使用这种语言。
        C++的特点是代码执行效率较高,如果需要开发大型的有限元程序(即算法需要优化优化再优化的那种),推荐使用它,但同时,使用这门语言必然要调用Autodes公司每年为开发者提供的ObjectArx开发工具包(NND一年一个版本),所以在不同CAD版本上切换时需要有较高的技巧。
        C#越来越有替换VBA来开发CAD的趋势。开发过程极其简洁,不需要第三方工具包,只要装上CAD就行。同时使用C#.NET可以很方便的进行EXCEL或其它第三方(主要是微软的)的交互。只要有一定基础,那么像实现TrueTable这样的插件并非难事(说实话要做到做的比它好也不难)。
    2、VS2005或VS2008的IDE环境。如果你从前接触过C++6.0或更早期的版本,那么使用05或08的IDE是非常好上手的。
    3、熟练掌握CAD的使用方法。至少得知道什么是LINE,什么是PLINE,什么是命令行,什么是属性表吧。
    4、一个CAD版本。
    5、极好的耐心和求知欲。

二、第一个项目——让命令行说HELLO
    1、启动VS2005或VS2008,选择新建项目,在项目类型中选择“类库”。   
    2、在解决方案视图中找到“引用”,右键选择添加。找到你需要开发的CAD版本的安装目录,添加如图所示的两个DLL文件。   
        (acdbmgd.dll和acmgd.dll)
    3、新建一个类。在解决方案视图中,右击项目名,添加类。
    4、注册CAD命令,在刚才创建的xxx.cs文件中,添加如下代码:
        [CommandMethod("HELLO")]
        public static void HELLO()
        {
            Document dc = Application.DocumentManager.MdiActiveDocument;
            Editor ed = dc.Editor;      
            using (Transaction tr = dc.TransactionManager.StartTransaction())
            {
                 ed.WriteMessage("\nHELLO CAD");
             }
         }
    5、编译及运行。点击生成解决方案。打开CAD,输入NETLOAD命令,选择刚才编译出的DLL文件后,在命令行输入HELLO,即可看到运行效果。(在CAD命令行出现“HELLO CAD”)   

三、如果你看完上文对CAD二次开发还感兴趣
    如果你仍然抱着对CAD进行开发的打算,那么在今后的过程中提供如下的建议:
    1、始终做到随感而发。不用担心代码难度与CAD工具库的负责,网上多查,文章多看,自然会得以解决。学习的初期肯定将是一个“好奇-->尝试-->失败-->成功”的过程。想做什么就做什么,因为在日后你会发现,现在你牢牢抓住不放的东西可能并不那么有价值。
    2、形成你自己的风格。
    如果你想开发中型系统,那么你的代码结构和语言优美程度需要大大提高,并且不断勇于放下手上的代码来构建工具类。
    如果你仅为了满足几项工作需要,那么你可以适当放松在语言上的学习,同时做到精准地给自己描述想要的东西。
    如果你期望开发出大型的平台系统,那么建议做好随时随地要省得废弃代码的准备,并且深入学习开发语言。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

 
 
  • QQ:56984982
  • 点击这里给我发消息
    电话:13527553862
    站务咨询群桥头堡站务咨询桥梁专业交流群:
    中国桥梁专业领袖群
    工作时间
    8:00-18:00