论文部分内容阅读
【摘 要】本文对如何利用AutoCAD的扩展数据的特点、设置、检索的方法进行二次开发,以解决工程设计过程存在的问题如目录生成、图纸分解等进行了介绍。
【关键词】AutoCAD;扩展数据;二次开发;VBA、ActiveX;编程
0.引言
自从80年代AutoCAD开始引入国内以来,在CAD和CAM等领域已经得到了广泛的应用,特别是在工程设计行业,AutoCAD已成为主要的设计软件和工具。虽然这些年来,随着计算机图形图像处理技术的发展,已经开始使用三维设计软件进行工程设计,如石油化工等行业使用PDS等软件进行工厂三维设计,但是许多设计工作仍然离不开AutoCAD。
设计人员在设计图纸时往往在一个图形文件(.dwg)中设计多张图纸,便于图纸之间的参照,在所有图纸设计好之后,再手工将图纸逐个分解成单个图形文件(以各自图号为文件名)进行绘图并归档,并手工做出图纸目录文件(.xls)和材料表文件(.xls)。设计工作本身已经是一个比较繁重的任务,后期再手工分解图纸、做图纸目录和材料表,额外增加了许多负担,而这都是一些简单、重复、繁琐、易错的工作。
通过对AutoCAD二次开发有关资料的分析研究,AutoCAD实体对象的扩展数据及其它技术可以解决以上问题,并使用AutoCAD提供的VBA和ActiveX进行编程开发。下面对在开发过程中扩展数据的应用进行介绍。
1.扩展数据及特点
AutoCAD扩展数据是在常规的图形数据基础上增加的按一系列分类代码组合而成的数据块,它与常规实体数据一起构成内容更加广泛的实体数据。AutoCAD提供了一系列的扩展数据组码,这里只使用了1001和1000。
AutoCAD的ActiveX所提供的对象特别是图元(如线、圆、文字等)都包含对扩展数据进行设置和检索的方法SetXData和GetXData。
扩展数据的设置具有如下特点:
(1)对于同一个对象可以设置多个不同类型的扩展数据,这就为开发应用增加了灵活性,根据二次开发的需要可以给一个图元设置不同类型的扩展数据。
(2)对于同一个对象如果以同一个类型的数据重复设置,则只保留最后一次所设的扩展数据,当认为设置不正确时,可以重新设置图元的扩展数据。
(3)对图形中的对象设置扩展数据并保存图形后再次打开该图形,先前设置的扩展数据仍然存在。这说明所设置的扩展数据是永久的,这样可以制定标准的图框和图签。
由此可见,所谓扩展数据实际上就是扩展属性,这样根据二次开发的实际需要可以为图元对象设置必要的不同类型的扩展数据。
2.扩展数据的设置
主要是采用AutoCAD ActiveX的图元对象所提供的SetXData方法进行扩展数据的设置。可以对单个对象进行设置,也可以同时对多个对象进行设置。
对单个对象设置扩展数据:在实际应用过程中是经常要用到的,如在制作标准图框和图签时,需要对图框和图签的有关图元设置扩展数据,以生成图纸目录。
3.结束语
以上只是利用AutoCAD的VBA进行了一些初步的开发,解决了设计过程中的某些问题。其实,AutoCAD所提供的ActiveX功能非常强大,用户可以进行深度的二次开发,以满足设计工作的需要。除了VBA之外,还可以使用ObjectARX开发包在Visual Studio(.Net)环境下进行二次开发,因此利用AutoCAD所提供的开发工具还可以开发出与设计有关并与设计紧密结合的管理系统如项目管理系统、协同设计系统等。 [科]
【参考文献】
[1]梁学春,宋德明编著.AutoCAD2002二次开发技术指南.
[2]李长勋主编.AutoCAD ObjectARX程序开发技术.
【关键词】AutoCAD;扩展数据;二次开发;VBA、ActiveX;编程
0.引言
自从80年代AutoCAD开始引入国内以来,在CAD和CAM等领域已经得到了广泛的应用,特别是在工程设计行业,AutoCAD已成为主要的设计软件和工具。虽然这些年来,随着计算机图形图像处理技术的发展,已经开始使用三维设计软件进行工程设计,如石油化工等行业使用PDS等软件进行工厂三维设计,但是许多设计工作仍然离不开AutoCAD。
设计人员在设计图纸时往往在一个图形文件(.dwg)中设计多张图纸,便于图纸之间的参照,在所有图纸设计好之后,再手工将图纸逐个分解成单个图形文件(以各自图号为文件名)进行绘图并归档,并手工做出图纸目录文件(.xls)和材料表文件(.xls)。设计工作本身已经是一个比较繁重的任务,后期再手工分解图纸、做图纸目录和材料表,额外增加了许多负担,而这都是一些简单、重复、繁琐、易错的工作。
通过对AutoCAD二次开发有关资料的分析研究,AutoCAD实体对象的扩展数据及其它技术可以解决以上问题,并使用AutoCAD提供的VBA和ActiveX进行编程开发。下面对在开发过程中扩展数据的应用进行介绍。
1.扩展数据及特点
AutoCAD扩展数据是在常规的图形数据基础上增加的按一系列分类代码组合而成的数据块,它与常规实体数据一起构成内容更加广泛的实体数据。AutoCAD提供了一系列的扩展数据组码,这里只使用了1001和1000。
AutoCAD的ActiveX所提供的对象特别是图元(如线、圆、文字等)都包含对扩展数据进行设置和检索的方法SetXData和GetXData。
扩展数据的设置具有如下特点:
(1)对于同一个对象可以设置多个不同类型的扩展数据,这就为开发应用增加了灵活性,根据二次开发的需要可以给一个图元设置不同类型的扩展数据。
(2)对于同一个对象如果以同一个类型的数据重复设置,则只保留最后一次所设的扩展数据,当认为设置不正确时,可以重新设置图元的扩展数据。
(3)对图形中的对象设置扩展数据并保存图形后再次打开该图形,先前设置的扩展数据仍然存在。这说明所设置的扩展数据是永久的,这样可以制定标准的图框和图签。
由此可见,所谓扩展数据实际上就是扩展属性,这样根据二次开发的实际需要可以为图元对象设置必要的不同类型的扩展数据。
2.扩展数据的设置
主要是采用AutoCAD ActiveX的图元对象所提供的SetXData方法进行扩展数据的设置。可以对单个对象进行设置,也可以同时对多个对象进行设置。
对单个对象设置扩展数据:在实际应用过程中是经常要用到的,如在制作标准图框和图签时,需要对图框和图签的有关图元设置扩展数据,以生成图纸目录。
3.结束语
以上只是利用AutoCAD的VBA进行了一些初步的开发,解决了设计过程中的某些问题。其实,AutoCAD所提供的ActiveX功能非常强大,用户可以进行深度的二次开发,以满足设计工作的需要。除了VBA之外,还可以使用ObjectARX开发包在Visual Studio(.Net)环境下进行二次开发,因此利用AutoCAD所提供的开发工具还可以开发出与设计有关并与设计紧密结合的管理系统如项目管理系统、协同设计系统等。 [科]
【参考文献】
[1]梁学春,宋德明编著.AutoCAD2002二次开发技术指南.
[2]李长勋主编.AutoCAD ObjectARX程序开发技术.