你当前的位置>>主页>>AutoCAD知识>>AutoCAD二次开发
 
    我对CAD二次开发的看法

      我从参加工作以来就没有离开过AutoCAD,到现在也快三年了。其间,从AutoCAD的简单操作,到使用别人开发的结构绘图软件包,到自己开发一些小的绘图工具,回顾起来便作了这样一个总结,由于全是一家之言,不当之出请您多多指教。   

   首先,AutoCAD自身的功能就很强大,对于一般的平面制图(比如建筑、结构方面),不使用任何第三方的软件,仅凭AutoCAD自带的基本命令,就可以完成。但如果这样的话,CAD制图就是一件很枯燥乏味、效率低下的事情,比手工制图强不到哪里去。AutoCAD的高明之处就在于他提供的是一个最基本的图形操作平台,采取开放的体系结构让用户和开发方对其进行扩充和修改。这种扩充和修改就是二次开发,直接面向的是用户,使得制图更亲切,更"人性化",比如绘制一段墙体就不再是通过绘制两条平行线来解决。   

   当时,我手头上的结构制图软件功能有限,就萌发了完善它的念头,记得编写的第一个程序就是用来给墙线加粗,采用的是AutoLISP。由于AutoLISP是AutoCAD固有的一部分,故开发起来很方便,只要有一个文本编辑器即可。这种语言跟我以前学习的Fortran、C相比,很怪异,但并不难,关键是将几个重要概念比如表,实体名,选择集等搞清楚。   

   开发CAD就少不了对话框的设计,这有两种途径。一种是采用可编程对话框(Program Dialog Box,简称PDB)技术,需要编写单独的DCL文本文件(后缀为.dcl),市面上的软件大都使用这个技术,比如探索者,但我个人觉得在R14中,这种对话框显示的效果很差,汉字几乎变形,很难看。另一种对话框是Windows对话框,这就需要用到ObjectARX及MFC,当然界面就丰富好看得多了,但需要编写者对VC++有所了解,我编写了一个这样的程序用于绘制图框,您可以从我的主页上下载。   

   随着电脑的普及,CAD技术的推广,CAD市场已接近饱和。本来就不算大的市场又被几家大的软件公司所垄断,建筑方面有德赛、天正、圆方、中望等,结构方面有PKPM,TBSACAD,TAsd,及探索者等,其他的就不用赘述了。这些专业软件的功能越来越完善,个人开发的CAD就越来越没有价值,这正是我开始远离CAD二次开发的原因所在。为此我忠告那些如我一样的业余开发者,这种开发的投入产出是很低的。   

   最后,我想谈谈源程序的开放问题。由于本能的保守心理作怪,很多人(包括我)都将源程序当作宝贝,不肯轻易示人。其实这种个人制作的CAD软件又有多少商业价值可言,根本没有必要遮遮掩掩,公开出来,对于那些急需源代码提高自己水平的人不庛为一个福音,而且更多的人也会投入到这个程序的完善中去,对谁都有好处。您就别指望靠这种程序赚外快了,您所有的努力都是无私奉献,收获的就是达到预期目标后的快感和使用者的鼓励了。

民众工作室.制作      版权所有