CAD中的VBA简介 下载本文

内容发布更新时间 : 2024/4/28 3:58:01星期一 下面是文章的全部内容请认真阅读。

CAD中的VBA简介

当用VBA开发基于AutoCAD的应用程序时,几乎总是在重复下面的几种工作:

(1) 创建和编辑实体。作为计算机设计软件,AutoCAD最主要的工作时完成设计目标并为下一阶段的实际制造提供参考。图纸仍然时其主要的工作产品,因而大部分的二次开发应用程序最终都要将结果用图形实体表现出来,这时AutoCAD二次开发的一个基础。

(2) 和用户交互。应用程序本身可以通过窗体或者命令行完成和用户交互。比较特殊的时与图形相关的用户交互,列如提示用户选择一条多段线、输入一个整数、输入一个角度值等。

(3) 利用队形特性来组织实体。AutoCAD作为一种CAD软件,其内在的特点决定了所有的图形实体不具有属性特征。也就是说,如果绘制一条直线来作为一条道路,在AutoCAD中是无法标识出他是一条道路的,通常的解决方法是创建一个名为“道路”的图层,然后将所有的代表道路的线都放在这个图层中统一管理。

(4) 处理图形文件,在文件之间交换数据。在进行设计是,把所有的图形元素放在一个图形文件中并不总是个好主意,最常见的后果就是图形文件太大导致操作起来太慢。解决这个问题的办法就是按某种法则将图形元素分布到几个图形文件中,在需要的时候交换图形文件之间的数据。

(5) 视图管理。在AutoCAD中绘图时,为了便于计算和观察图形,人们总时会很频繁地改变视图,列如缩放、平移或改变视点。而在开发VBA应用程序时,这方面的要求相对来说会低一点,一般只需在创建实体之后给出一个合适的观察角度即可。

(6) 文字。在AutoCAD的基本图形元素中,文字是比较简单的一个,但是在实际使用中它的可变性最大。列如,不同类型的说话需要不同的文字样式,还有一些特殊的符号以及行为公差都是通过文字来表现的。

(7) 管理块的属性。块是将若干个图形对象定义成一个组,在需要的地方可以多次引用它。这带来两个好处,一是减小图形的尺寸,二是修改起来方便,只需要修改块的定义便可以更新所有引用。块和属性结合起来使用,能够大大简化一些特定类型设计工作。 (8) 在三维空间工作。某些工作必须在三维空间中完成,列如机械零件的建模以及装配,或者处理三维建筑模型。三维空间中工作所要处理的一个主要问题是三维坐标系,电脑屏幕本身是一个二维的平面,要反映并操作三维的对象,必须借助于用户坐标系和视角的变化。 (9) 响应AutoCAD中的事件。很多操作都会引发AutoCAD的事件,如用户创建、移动、双击、删除了某个实体,或者执行了一个命令、打开了一个图形等,使用这个特性能视线一些有趣的特性。填充图案和填充边界的关联就是通过事件响应来实现的。

(10) 布局和打印操作。完全可以把布局看作是一张特定类型的图纸,AutoCAD的这种模型和布局分开的思想非常好,就如同现实生活中的一辆车可以从多个角度拍多张照片来表现它一样。

(11) 扩展数据和扩展记录来标识实体。AutoCAD识一个非常纯粹的CAD软件,其中任何的实体都么现实意义,但是它提供了扩展数据和扩展记录作为实体属性的附加机制。通过这两种手段,可以给某条直线追加一个“属性”,比如为直线增加一个“输电线”的“名称”,或者为闭合多段线设置一个“公园”的“名称”等。

(12) 访问文件和数据库。CAD程序同文件和数据库打交道非常平常,因为CAD程序中经常有一些数据不方便保存在图形文件中。如果要创建一个标准零件库,就可以在数据库中保

存零件库的数据,在创建零件的时候访问数据库读取其特征数据,然后在AutoCAD中创建该零件对应的图形元素即可。

(13) 和Office程序交换数据。某些情况下;仅靠图纸还不能很好的说明问题,或者还需要使用Excel对图形中的某些对象作一个统计,那么就必须同Office程序交换数据。 (14)使用Windows API ( Windows应用程序编程接口 )增强程序功能。VBA的语法是基于Visual Basic 6.0的,并且在可以使用的对象上仅包含了Visual Basic 6.0的一部分,所幸VBA仍然可以访问Windows API,能通过Windows API来实现一些VBA基本对象无法实现的功能。

(15)VBA应用程序的发布。编程者大多情况下恐怕不是程序的最终使用者,那么程序编写完成后总要以一种合适的方式发布到使用者的计算机上才行,因此就避免不了学习VBA应用程序的发布。

(16)其它方面的操作。如将VBA程序移植到Visual Basic上、使用DLL来保护源代码的安全、使用ObjectDBX等,当学习深入到一定程序之后,就会感觉这些知识非常有用。

因为有爱,这个社会织了一个梳不清的网,逃不出的网,因为有爱,大家才走到一起来,生活有了欢乐,有苦恼,有了说不完的千千结,谁也无法去解。因为有爱,你认识了我,我认识了你,也许就因为那一眼,我们从此在也不得分离。因为有爱,人们走南创北,什么地方都去,不管天涯海角,一个爱就有很多的力量,驱使你去很远很远,因为有爱,多少人远走他乡,离乡背景,永远不回头了。 因为有爱,天意会安排你去坐飞机,去坐轮船,去坐火车,去坐大客运,有可能那个上飞机的剪票员,剪过千万张机票,都懒的看他一眼,偏偏就看了你一眼,恰在这时一个证件就让她给拾了,从此相识了,走在一块,永远不分离,爱情的基础,就是剪票口看了一眼,就产生了不可磨灭的真爱。有可能坐在飞机的座位上,那个身边的姑娘在你们的谈话中,彼此就默默的分不开了,至于以前,谁去过问,也勿须过问,有爱还问历史干什么,那种爱是纯真切的,不是对每个人都有这样机遇,所以一旦走到一块,彼此之间格外珍惜,那是神话般的美丽故事,谁能不珍惜呢? 因为有爱,才坐到一个火车上,她就坐在你的身边,瞌睡了,她就倒在你的身上睡了一路,醒来了,她不好意思,你也不好意思,就这样认识了熟悉了,当下了火车时,彼此在也不想分离,当他们走在一起时,两家的距离确是相隔千万里的路程,要是平常,你愿意从万里以外的地方说媳妇吗?就是有,谁给你牵这线,你愿意嫁到万里之遥的地方吗?你肯定没有想过,是天意给他们安排了这次火车的机遇。要不他们怎样能到一块呢? 无边的蓝天,如纱的白云,茫茫的大海,乘风破浪巨轮,因为有爱,一个小小的世界,就会安排他们相见,或许你买的船票,和她就在一个船舱里,就是不在一个船舱,甲板上也会相遇,一块沐浴着海风的吹拂,一块欣赏着大海的波涛。 不觉间走到了一块,当谈完大海的宽阔,在论海风凉爽时,才知道对方并不熟悉的人,交谈中就对方说出了自己的姓名,下了船到了一个同一的城市,就是自己的依靠了,相依为命,在艰难在困惑,日子总算一天天的好了起来,你说这是不是因为爱才走到一起来呢? 也许彼此都喜欢上了对方,但谁也不知道谁的名字,也不知道都在什么单位,只在是下班的十字口彼此投过一个眼神,就这样在风雨里等待,也无法去打听,也没有勇气敢问对方,偶然的一次班车上,坐在了一块,去同一个城市玩,也没有什么目地,纯粹是一个人出去散心,有情侣人终成眷属,苍天安排了一次机遇,就走到了一起,当成为一家人时,自己单位的人几个都是她的亲戚,他的单位几个人都是他的亲戚,可当时谁给你介绍呢?苍天安排的亲眷没有一丝缝隙,百分之百的成功。 因为有爱,男女的结合没有什么理由,爱你没有商量,现在的旅游发展的特别快,当你走出世界的时候,你发现生活很有意思,不知乍的,一个车上,东南西北的人都有,只要坐在一个车上,就如同一家人似的,瞬间就改变了人们的思想观念,车上有老的,有少的,有中年的,短时间的相处,就如同父母和儿女,兄弟和姐妹,有说有笑,相互关系,分离时,都有一种恋恋不舍的那种感觉,用佛的观念来说,因为缘分还没有修到,只能今生短暂的相聚,很有意思,就因为有那么一段爱的缘分,今生天意就安排了一段旅游的机会,令人很欣慰。 因为有爱,这个社会织了一个梳不清的网,逃不出的网,因为有爱,大家才走到一起来,生活有了欢乐,有苦恼,有了说不完的千千结,谁也无法去解。因为有爱,你认识了我,我认识了你,也许就因为那一眼,我们从此在也不得分离。因为有爱,人们走南创北,什么地方都去,不管天涯海角,一个爱就有很多的力量,驱使你去很远很远,因为有爱,多少人远走他乡,离乡背景,永远不回头了。 因为有爱,天意会安排你去坐飞机,去坐轮船,去坐火车,去坐大客运,有可能那个上飞机的剪票员,剪过千万张机票,都懒的看他一眼,偏偏就看了你一眼,恰在这时一个证件就让她给拾了,从此相识了,走在一块,永远不分离,爱情的基础,就是剪票口看了一眼,就产生了不可磨灭的真爱。有可能坐在飞机的座位上,那个身边的姑娘在你们的谈话中,彼此就默默的分不开了,至于以前,谁去过问,也勿须过问,有爱还问历史干什么,那种爱是纯真切的,不是对每个人都有这样机遇,所以一旦走到一块,彼此之间格外珍惜,那是神话般的美丽故事,谁能不珍惜呢?