基于VBA的AutoCAD二次开发及应用实例

基于VBA的AutoCAD二次开发及应用实例
基于VBA的AutoCAD二次开发及应用实例

基于VBA的AutoCAD二次开发及应用实例

时间:2011-10-03 18:25:09 来源:作者:

1引言

AutOCAD2005是AutOdesk公司的系列产品,该软件从其使用和设计思路上都秉承了工程制图人员的绘图习惯,能够非常轻松地绘制出带有平面视图和三维渲染效果的工程图纸,是绘图人员的一个理想工具。随着CAD基础理论和应用技术的不断发展,对CAD系统的功能要求也越来越高。因而AutoCAD

不可能完全满足每个用户的具体而特定的要求。设计人员希望它能从本质上减轻大量简单烦琐的工作量,使他们能集中精力于那些富有创造性的高层次思维活动中。

AutoCAD提供的开放式体系结构允许用户和开发者采用高级编程语言对其进行扩充和修改,即二次开发,能最大限度地满足用户的特殊要求,更方便、更规范、更专业的实现设计和绘图中的应用。VBA最早是建立在0ffice97中的标准宏语言,由于它在开发方面的易用性及具有的强大功能,许多软件开发商都将其嵌入自己的应用程序中,作为一种开发工具提供给用户使用。AutOdeSk公司自从Aut0CADRl4.0l版开始,内置了VBA开发工具。

新一代程序开发工具ViSual BaSic,不仅继承了面向对象方法的特性,同时具备可视化程序语言及程序产生器的概念。

VBA(visual Basic For Apphcation)是AutoCAD R12以后推出的一种新的编程环境,提供了以Visual Basic为基础的面向对象的开发特征及程序接口,能真正快速地访问AutOCAD图形数据库,能明显提高软件开发和维护的效率。

2 VBA的技术特性

2.1 VBA开发AUTOCAD的技术特点

VBA是微软开发出来的应用程序共享一种通用的自动化语言,它可以使常用的程序自动化,并可以创建自定义的解决方案。

VBA被集成到AutoCAD中,VBA和AutoCAD中强大的Activex自动化对象模型的结合,代表了一种新型的定制AutoCAD的模式构架。通过VBA,我们可以操作AutoCAD2004,控制ActiveX和其它一些应用程序,使之相互之间发生互易活动下面就是VBA的主要功能:

(1)VBA提供强大的窗体创建功能,为应用程序建立对话框及其他屏幕界面。

(2)可以创建自己的工具条。

(3)可以创建功能强大的模块级宏指令,宏名实质上就是模块的过程名。

(4)提供建立类模块的功能,这对开发大型工程非常有用,因此类可以提供重用组。

(5)具备完善的数据访问和管理能力,通过ADO(ActivexData Objects),可以对Access数据库或其他外部数据库(像dBase,FoxPro等)实现访问和管理。此功能比直接使用AutoCAD的数据库管理系统要方便,且功能强大。

2.2 VBA AutoCAD ActiveX Automation对象模型

VBA是通过AutoCAD ActiveX Automation接口来建立和AutoCAD对象问的联系。ActiveX是建立在COM对象模型之上的一个标准通信协议,它允许对象之间通过一定的接口相互通信。

AutoCAD Activex使用户能够从AutoCAD的内部或外部以编程方式来操作AutoCAD。它是通过将AutoCAD对象显示到“外部世界”来做到这一点的。这些对象被显示后,许多不同的编程语言和环境以及其他应用程序(例如Microsonword VBA或Excel VBA)就可以访问它们。如图1是编程语言和应用程序通过AutoCAD ActiveX访问AutoCAD。

图1 编程语言和应用程序通过AutoCAD AcfiveX访问AutoCAD

在AutoCAD中实现ActiveX接口有两大优点:

·更多的编程环境可以编程访问AucOCAD图形。在ActiveXAutomation 出现以前,开发人员只能使用AutoLISP或C++接口。

·与其他windows应用程序(如Microsoft ACCESS和Word)共享数据变得更加容易。

对象是所有Activex应用程序的主要构造块。每一个显示的对象均精确代表一个AutoCAD组件。AutoCAD ActiveX接口中有许多不同类型的对象。例如:

·直线、圆弧、文字和标注等图形对象都是对象。

·线型与标注样式等样式设置都是对象。

·图层、编组和块等组织结构都是对象。

·视图与视口等图形显示都是对象。

·甚至图形、AutoCAD应用程序本身也是对象。

AutoCAD对象是通过分层方式来组织的,应用程序对象为根对象。这种分层结构的视图被归结为对象模型。对象模型提供了用户访问下一层对象的途径。

用户可直接通过用户定义变量引用对象。直接引用对象,应包括对象的层次。举一个最简单的例子,在VBA中要利用圆心和半径创建圆可以使用以下代码:

Sub drawcircle()

* Dim ptl(2)As Double

Dim radius As Double

ptl(0)=23

ptl(1)=78

Dtl(2)=67

radius=56

’调用Addcircle方法绘制圆

ThisDrawing.Modelspace.addcircle ptl,radiusEnd Sub

3 AUTOCAD VBA实例应用

这个实例,介绍了VBA开发AUTOCAD实现参数化绘图的编程思路与实际应用,是CAD系统中很重要的环节。

3.1绘制三维图形实例说明

(1).本程序运行界面如图2所示,用户可以指定中心点,桌面及桌腿半径,桌子的高度,系统就能根据用户指定的参数在三维空间中创建出一个桌子。

(2).编程思路

核心问题是创建大小圆的面域,复制出来的桌腿,角度的旋转及最后的合并着色。

3.2 VBA开发AutoCAD2005的技术流程

(1)首先在AUTOCAD2004中,选择[工具/宏/VBA管理器]菜单项,在弹出的[VBA管理器]对话框中单击[新建]按钮,将其保存在适当的位置。

(2)在[VBA管理器]对话框中单击[Visual Basic编辑器]按钮,进入VBA 集成开发环境,选择[插入/用户窗体]菜单项,向工程中添加一个用户窗体。

图2 创建桌子运行界面

(3)在用户窗体上插入如图2所示的相关控件,并按下表分别设置它们的相关属性。

(4)相关代码:l>.在Cammandbutton2命令按钮的单击Click事件的代码为:

图3桌子的参数化绘图

(2)在AutoCAD2004中,选择[视图/着色/体着色]菜单项,对生成的模型进行着色,所得结果,如图4所示

图4 创建桌子运行界面

该实例可以连接上数据库,使用时可以直接调用数据库中的参数,直接运行得出所需的图形。

4 AUTOCAD VBA数据库连接技术

4.1 ADO数据库访问技术

别随着CAD技术的发展,在CAD软件中使用数据库的场合越来越多,数据库连接方法ADO是Microsoft AcciveX Data ObjeCts的简称,ADO作为一种更新的数据库访问技术,“扩展”了DA0和RD0所使用的对象模型,包含较少的对象和更多的属性、方法、事件。

本节仅介绍ADO控件连接MICROSOFT、ACCESS数据库的基本操作,桌子的各个参数,存放在数据库DESK.mdb中,可以用于浏览数据库中的各条记录,还可以完成记录的添加,修改和删除操作。

在使用ADO对象之前,需要在VBA集成开发环境中,选择[工程/引用]菜单项,从弹出的对话框中选中[microsoft ActiveX Data Objects 2.5 Livrary]选项,引用ADO的对象模型,如图5所示

图5 引用ADO的对象模型

4.2 ADO编程

在编程过程中使用AD0的一个典型的存取数据的步骤为:

(1)连接数据源。可以使用连接对象的Open方法打开数据库对象,例如:

adoCon.Open“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=“&_

Left(strPath,Len(strPam)一6)&”\DESK.mdb;”

(2)打开记录集对象。可以使用记录集对象的Open方法打开记录集对象,例如:

adoRs.Open“biaoData2”,adoCon,adOpenDynamic,adLockOptimiStic

(3)使用记录集。在各个记录集之间切换一般可以使用记录集对象的Move、MoveFirst、MoveNext、MovePrevious和MoveLast方法,添加新的记

录可以使用记录集对象的AddNew方法,修改当前记录的内容只需对数据库记录集中的对象重新赋值即可,删除当前的记录可以使用记录集的Delete方法。

其中,记录集在进行添加的操作之后,必须使用Update方法更新数据库。

(4)断开连接。使用close方法能够关闭记录集和数据库连接对象,在退出程序之后,必须用close方法关闭这两个对象。向工程中添加一个用户窗体,并在窗体中放置如图6所示的控件。

向工程中添加一个用户窗体,并在窗体中放置如图6所示的控件。

图6桌子的数据库连接

5 结束语

基于VBA的AutoCAD二次开发技术,可以实现AUTOCAD功能的拓展及参数化没计,如零件标准图库的建立等各个方面,更好的满足机械电子行业等系列化产品的专业设计。对于大型CAD应用软件的开发,能发挥极大的作用。各大企业也在开发自己的CAD系统,具有很好的实用价值。

如何维护老客户与开拓新增客户

如何维护老客户与开拓新增客户 导读: 准客户开发只有两种途径,一是自己开发,一是客户帮你开发,所以请你每天去回访你的客户。 “建立影响力中心,充分运用转介绍,促使你的寿险事业如日中天。因为: 第一,推荐你的同事或街坊拥有保险保障,你们单位你们小区就能成为保险公司的"大户"; 第二,帮助你的亲朋好友拥有保险的利益,其实就是帮助你自己,因为他们的问题同样会成为你的困扰。如果他不向保险公司投保,就等于向你投保,而且完全免费!请问你愿意这种情况发生吗?” 保险服务包括售前服务、售中服务和售后服务,也就是说,客户服务工作贯穿我们从事保险工作的始终。如何才能做到、做好客户服务工作?我们必须首先从心态和行为上做——保险生活化,生活保险化。 显然,售后服务是维护老客户的必备方式和有效手段,维护好老客户其实正是增添新客户的高效前提!售后服务的另一种说法叫做“客户回访”,准客户开发只有两种途径,一是自己开发,一是客户帮你开发,所以请你每天去回访你的客户。

一个成功的代理人每天都会拨出专门的时间去拜访他的客户,让客户帮助自己开发准客户,所以他会越做越轻松,越做越有成就感。一个失败的代理人每天都会拨出全部的时间去拜访他的准客户,只能依赖自己开发准客户,所以他会越做越辛苦,越做越有挫折感。 做好客户回访的关键其实并非在如何回访?因为人的不同,方式方法亦不一而同,关键在于“去”回访,在于行动,在于走出去,走进客户。保险营销员在其职业生涯当中,常常会出现三大致命伤,首先是”懒”,这其实就是失败的开始;其次是“傲”,这是保险业务员职业生涯中的第一大病,其实,每个代理人,在发展的过程中,要学会谦逊,在获得成绩时,掌声愈大、腰要愈软;三是“伪”,这是人际关系的致命伤。 作为一个成功的寿险营销员,要做到“人生三勤”。即勤能补拙、勤能补运、勤能补情。 勤能补拙。笨鸟先飞,成事靠准备,不是靠智慧。勤能补运(时)。客户被拜访99次,第100次被你访到,幸运成交。勤能补情。多与顾客接触,能增近感情。 加强客户回访,要成为我们日常工作的好习惯。成功的人都有好习惯,好习惯是勉强来的,勉强成习惯,习惯成自然。因此,加强客户回访,不断给客户以保险的观念与理财分析,你的诚心,必将能打动客户。我们要让客户明白,买保险不仅要买单一的保险产品,更要买组合型的产品,买全方位的保障。我们要让客户明白,不仅自己要买保险,自己身边的关系人也必须要购买保险。保险应当成为人们生活当中的必须品,人人都该拥有足够的保险保障,从而获得自立、自尊的尊贵生活。保险从业人员应充分运用保险的这一独特功用,为更多的客户提供保险保障服务,从而使我们自己的寿险从业生涯走向良性循环。

客户的维护与开发

读《怎样做好客户保持》后感 -------胡玉彬 客户是一个公司的根本,也是企业赖以发展的源泉,一个企业的持续发展,除了正常的管理,经营;客户的开发和维护显然是重中之重。 开发一个客户和维护一个客户,大家都知道,从经济学角度来讲,很明显,维护客户能够大大的节约成本,正如文中所讲“开发一个新客户所需要花费的成本是维护一个老客户的5-10倍,客户保持比吸引新客户更能够降低成本”。 我们只需要花开发新客户1/3的精力,1/5的成本,不仅能维护好客户,还能在现有客户的基础上越做越大,因为,客户也要发展。一个一点不图发展的客户,不是一个好客户。我们要在有限的资源和精力情况下,最大效益的保持最有价值的客户。 根据已经成交的客户使用情况,整理归纳,有一个清晰明了的客户信息数据库,知道哪些是现有最大客户利益化,哪些是最有潜力,哪些是长期维护的客户,根据不同客户的情况,有自己的一套维护体系,有限的资源,有效的时间,效果最好。 中国的社会,归根到底,是人情的社会,所以要重视与客户情感的建立,正如文中所言“把客户感情的维护与企业提供的产品和服务紧密的联系在一起”,这样才能大大提高客户对公司,对产品的认可度和依赖度。 客户的维护,没有客户开发那样有难度,有刺激,和成就感,相

比而言,维护客户相对比较平淡和持久。这就更要求我们自己要注意细节,注意自己内心对客户的理解和尊敬,客户是自己的衣食父母,只有在日久的维护中,始终能保持一颗关心,帮助客户的心态,才能真正让客户感觉到,我们是在和他们共成长,才会有牢靠的客情关系。 用真心和耐心去维护客户,用信心和激情去开发客户,在维护中学习,从开发中反思,做出属于自己的品牌营销!

客户二次开发技巧

学习导航 通过学习本课程,你将能够: ●学会让顾客记住并信任自己; ●了解顾客二次开发的步骤; ●掌握顾客二次开发的方法。 客户二次开发技巧 一、如何让顾客记住并信任你 客户二次开发最基本的前提是信任,只有当顾客信任并记住自己时,顾客才有可能继续进行交流、接触。 导购要想使顾客记住自己及自己店面的产品,并得到顾客的信任,需要做好以下方面的工作: 第一,建立完备的客户档案,这是工作人员向顾客进行回访、举办惊喜活动和提供优惠产品的依据; 第二,要保证送货及时、安装优质; 第三,要及时、有效地对顾客进行事后电话反馈; 第四,需要定时做回访,回访过程中的活动与奖品可以有效地使顾客记住并信任自己; 第五,在顾客较多的情况下,工作人员可以利用短信平台,给顾客适时地送去祝福和问候,需要注意的是,短信的发送频率不要太高,以免给顾客带来不便; 第六,偶尔进行电话回访,询问顾客对本店产品的满意度与近期需求,此外,这种回访还可以利用短信系统的群发功能,虽然费用较高,但却有利于产品的二次介绍与店面的口碑宣传,可以为公司带来极大的效益。 二、二次开发的方法 家居建材是一种耐用消费品,顾客对于同一类产品的重复购买率较低。 因此,对于家居建材行业而言,在顾客二次开发过程中需要运用一定的方式: 1.给出顾客整体性建议 顾客购买产品时,工作人员可以根据其所购买的产品以及自己的专业知识取得顾客的信任,然后以专业人员或朋友的身份向其介绍周边的其他配套产品,并提出整体性建议。 提出建议时,导购一定要得到顾客的信任,使他相信自己不是让他向外掏钱,否则会引起顾客的反感。一般来说,可以在向顾客进行一次比较完整的服务后,适时提出建议。 【案例】 驯兽员的故事

客户关系管理与深度拓展

客户关系管理与深度拓展

客户关系管理与深度拓展课后测试 测试成绩:100.0分。恭喜您顺利通过考试! 单选题 1. 拜访客户最主要的目的是()√ A 市场维护 B 销售产品 C 信息收集 D 指导客户 正确答案: B 多选题 2. 以下关于电话邀约的描述正确的是()√ A 不提前给别人下定义 B 不提敏感性话题 C 四不说 D 保持高姿态,不求人、不逼人 正确答案: A B C D 3. 拜访客户的目的主要有()√ A 销售产品 B 市场维护 C 信息收集 D 指导客户 正确答案: A B C D 4. 银行制定产品营销计划,开展主题活动的目的是()√ A 促进业绩提升

B 维护客户关系 C 营销客户欲望 D 加深客户之间的交流 正确答案: A B C 5. 银行经常会开展主题活动,主题一般可以从哪些方面进行选择?()√ A 客户 B 产品 C 时间 D 地点 正确答案: A B C 6. 客户群体的筛选方式主要有()√ A 按任务指标 B 按区域划分 C 按产业特点 D 按客户的体量 E 按客户经理习惯 正确答案: A B C D E 7. 电话邀约的目的主要有()√ A 见面 B 销售产品 C 情感维护 D 信息收集 正确答案: A C 8. 客户经理要学会运用客户关系平台,借力营销,这里的力指的是()√ A 领导之力

B 同事之力 C 客户之力 D 环境之力 正确答案: A B C 判断题 9. 客户经理进行营销的目的是为了卖银行的产品,因此,将银行产品卖出去之后,整个营销过程就结束了。√ 正确 错误 正确答案:错误 10. 对于银行来说,希望客户购买理财产品的期限越长越好。√ 正确 错误 正确答案:错误 测试成绩:80.0分。恭喜您顺利通过考试! 单选题 1. 拜访客户最主要的目的是()√A 市场维护 B 销售产品 C 信息收集 D 指导客户正确答案:B 2. 我们可以将主题活动分为三部分,事前、事中和事后,一般来说,事前的准备工作所占的比重为()× A 0.1 B 0.2 C 0.7 D 0.8 正确答案: C 多选题 3. 我们在维护客户的时候,月初主要拜访哪种类型的客户?()√ A 高端客户

客户的开发与维护

大客户的开发与维护第一章针对大客户的销售流程 一.现代大客户采购流程分析 1.“谢绝推销”的启示 市场经济,客户自我意识强了,买方市场 2.客户关心的是什么 能否提高生产力 能否提高办公效率 技术是否先进 花费是否物超所值 产品是否可靠(产品,个人及公司) 例子:ERP项目在中国为什么不广泛 小组讨论:1)在你的工作中是否经常碰到“谢绝推销”?2)你认为“谢绝推销”的根源是什么? 3)你认为都有哪些解决方法或途径? 3.研究客户购买流程 无意识阶段 选择阶段 购买阶段 受用阶段 二.客户满意式销售流程 案例分析:美国戴尔计算机公司的成功 1.建立客户满意式销售流程的思路 以客户的流程考虑问题 合作关系,双赢结果,同舟共济 客户为专业的客户,专业人士之间的对话 2.客户满意式销售流程分析 了解或挖掘需求阶段 推荐产品阶段 完成购买阶段 售后服务阶段 第二章针对大客户的销售模式 一.调查结论:大客户销售人员的成绩是天份吗? 1.成功销售人员的特点 诚信 专业(形象及知识) 善于聆听 了解客户 2.成功销售人员的突出技能:四个善于 善于提问 善于聆听 善于回答 善于解决问题

案例分析:为什么老金总能攻破大客户,小王却不行? 小组讨论:老金的法宝真是这样吗?老金是真心爱顾客吗? 3.性情论批判 结论:销售能力重在培养 二.影响大客户销售业绩的六大因素分析 1.产品 2.质量 3.价格 4 .职业态度 仪表与装束 礼貌与规矩 克服不良习惯 成功的渴望 强烈自信 锲而不舍的精神 案例分析:一位房地产销售员损失佣金1500美元 现场提问:这个销售员的教训说明了什么? 5.相关知识 1).自信来源于知识 2).产品知识 应当掌握哪些技术和生产知识 案例分析:小李为什么会输得这样惨? 小组讨论或提问:结合本公司情况发表感想 3).市场学知识-购物心理 有买才有卖 现代客户的两种需求:隐藏需求和明显需求 启示:客户以明显需求来购物,开发客户,使之转化成名显需求4).营销知识:营销理论,销售技巧等6.沟通技巧 通用沟通技巧 SPIN提问式的沟通 三. 建立高绩效的大客户销售模型 1.硬态三角形分析 产品,质量,价格 2.软态三角形分析 职业态度,相关知识,沟通技巧 3.高绩效销售公式 第三章针对大客户的SPIN顾问式销售方略 一. 传统销售线索和现代销售线索 1.传统销售线索: 了解需求—推荐产品—购买 2.现代销售线索: 客户还没想买—引导需求,SPIN提问 二.什么是SPIN提问方式 1.Situation question 询问客户现状的问题

相关文档
最新文档