设为首页 收藏本站 English

当前位置: 赛琳五金网 >> 铝丝焊线机

应用ActiveXAutomation技术进行AutoCad的开发切刀片

发布时间:2022-06-25 19:31:20

应用ActiveXAutomation技术进行AutoCad的开发

应用ActiveXAutomation技术进行AutoCad的开发 2011年12月09日 来源: Autodesk公司的AutoCad软件广泛的应用于建筑、机械等设计领域。众所周知,AutoCad是一种极其灵活的应用系统,用户可以通过编程的方式对其进行定制。在以往的AutoCad系统开发中,最常用的是AutoLisp和ADS,但AutoLisp不如编程语言方便,在开发较大项目时力不从心,而ADS虽由功能强大的C语言编制,但较为复杂,不适应当前可视化编程的需要。幸运的是,在最新推出的AutoCadr14版本中,Autodesk公司对AutoCad本身加入了ActiveX自动化服务功能(ActiveXAutomationservercapabilities),使得用户可以通过可视化编程工具,如VisualBasic、Delphi等对AutoCad进行系统开发,极大的提高了工作效率。在最近为建筑公司开发的一套建筑施工三维演示系统中,我们采用AutoCad为平台,VisualBasic为编程工具,成功的应用ActiveX对AutoCad进行了二次开发。本文将从编程实践的角度对使用VB对AutoCad控制的技术及遇到的问题进行简要的说明。一、AutoCad的对象模型(AutoCadObjectModel)如果一个应用程序支持自动化,那么其他应用程序就可以通过其暴露的对象(Object)对其自动操作。在本例中,我们开发的程序为客户机,AutoCad是服务器,应用程序正是通过对AutoCad暴露的各级对象进行操作而控制AutoCad工作的。对象本身包含自己的方法和属性。通过方法可以实现对象的一些操作,而对象状态信息的收集或改变则是通过属性完成。例如,直线是AutoCad中的一个对象,它的属性可以是线形、起始点坐标、所在层等性质,方法则有拷贝、镜像等操作。理解AutoCad的对象模型是对其编程的基础。AutoCad以层次结构组织对象。在顶层是Application对象(即AutoCad本身),其他对象均为Application对象的子对象。在Application对象下面是Preferences(优先设置)和Document(文档)对象,通过Preferences对象可以对AutoCadTools>Preferences菜单项中的几乎每一个选项进行访问和修改,以获取或改变AutoCad的优先设置。Document对象是控制AutoCad图形文件的直接对象,它代表某一个装入的CAD图形文件(一般设为当前激活的文件)。Document对象下面有ModelSpace(模型空间)和PaperSpace(图纸空间)对象及Blocks(块)、Layers(层)、Plot(出图)、Selectionsets(选择集)、views(视图)、utility(功能)等一系列对象(集合),其含义与AutoCad中相似。ModelSpace是当前图形文件中图形实体,如直线、圆、多义线等的集合,每个实体即是一个对象,可通过属性和方法改变实体或生成新实体。对非图形实体,如层(layer)、线形(linetype)等的访问则通过访问Document对象下面的相应的集合类型的子对象,如Layers、LineTypes等来实现。集合类型的对象可以使用VB中所有的集合操作方法。Plot对象提供了访问Plot对话框中各选项的桥梁,使应用程序具有用不同方式控制AutoCad出图的能力。Utility对象使用户在AutoCad命令行与CAD交互成为可能,通过它可以处理整型、浮点型、字符型等用户输入,还可以接受点(Point)或角(Angle)等AutoCad的特殊量。二、AutoCad对象的使用在本节中,将结合我做项目得到的一些经验以例程的方式对AutoCad的常用对象及其使用进行讨论。1.开始一个应用程序如前所述,Application对象位于AutoCad层次对象结构的顶层,它代表AutoCad本身,用户的应用程序也理所当然从Appliction对象的建立开始。...2.通过Document对象对图形文件的操作Document对象提供了大多数AutoCad的文件功能,可以通过它实现对文件的更新(New)、打开(Open)、输出(Export)、输入(Import)等操作,一般要先把Document对象设为Application对象的ActiveDocument属性,以返回当前图形文件。Setacaddoc=Application.ActiveDocument请看下面的例子对文件的操作:...3.对图形实体的自动操作(生成、编辑、查询)图形实体指所有画在屏幕上的物体,如直线(Line)、圆(Circle)、弧(Arc)、多义线(PolyLine)、文字(Text)等,它们包含于ModelSpace和PaperSpace集合对象中,对实体的操作总要从这两个集合开始,向下查找相应实体的方法或属性。ModelSpace与PaperSpace的含义和AutoCad中类似,它们是所有图形实体的集合,要取得图中的某一实体,一般采用遍历或用实体句柄(Handle)查找的方法。用户可以操作AutoCad自动生成、编辑实体或查询实体参数。请看下例:①生成一个轻量多义线(LightWeightPolyLine)②改变一个现有长方体的颜色(假设此实体句柄为"4C")③查询当前图形文件中所有实体的实体名、实体句柄、颜色、所在层、线形等参数4.与用户交互Utility对象提供了与用户在命令行交互的途径,可以让用户输入数字、字符串及角度、点坐标等参量。下面说明如何应用Utility交互替代AutoCad命令中的提示:...5.对非图形对象的操作非图形对象如层(Layers)、视图(Viewports)、坐标系

北京主要治角膜病医院排名

阳泉治疗包皮包茎医院排名

治妇科医院

治前列腺炎男科医院

治疗包皮包茎医院

济南癫痫病微创手术大概多少钱

友情链接
陕西省白癜风医院癜风的症状临床表现有哪些 黑魔方粉底液 穗宝 WDW-5万能试验机 爱依瑞斯床垫 天津床垫品牌厂家 路灯杆灯箱制作 什么药能治心悸心烦 头发出油脱发需要益肾填精吗 腰肌劳损 伟哥功效可以持续多久 心衰的早期表现有腿脚浮肿吗 窦性心动过缓心律失常怎么办 哪种中药补肾精肾气 如何去除黑头粉刺收缩毛孔 有老年痴呆症怎么避免恶化 油烫伤后可以涂抹京万红软膏吗 脑血栓心肌缺血吃什么药 性生活时间短吃点什么药好 三叉神经痛是否为神经系统疾病 干眼症用什么牌子的眼药水 小孩拉肚子可以喝奶粉吗 孩子消化不良吃什么药 楚甲与亮甲哪个治灰指甲好 宝宝爱上火怎么办 材料试验机 定制工作服 脂肪肝要吃什么药 孩子感冒咳嗽有痰怎么办 宝宝感冒流鼻涕不通气怎么办 南宁泌尿医院 家庭常备药 seo优化 离婚纠纷律师咨询 上海离婚继承律师热线 风热感冒嗓子红用哪些中药好 阿托伐他汀钙片作用与功效 吃劲戈时需要注意什么 依兰琳卡 指甲增厚用亮甲还是达克宁 一瓶亮甲能用几次 袜子混在一起洗会传染灰指甲吗 亮甲是哪个厂家生产的 长期脚气会引起灰指甲吗 寻医问药 东阿阿胶阿胶块 江苏南京治疗肿瘤专科医院哪家好 深圳离婚律师价格 济源癫痫病专科医院哪家好 遗产继承顺序 新乡肿瘤医院哪家好 北京离婚律师咨询费 随州治疗眼科专科医院 临沂肿瘤 调理更年期吃什么药物 宝宝脾虚便秘怎么调理 法国薇婷 专利申请 Massager 书辞网 合肥工作服定做 Rebar Power Transmission Parts 寻医问药 杭州抽动医院哪家好 郑州男科医院哪个好 山东牛皮癣医院哪个好 杭州无痛人流好的医院 依夏网 Suppliers 宝宝吃啥拉啥不消化怎么办 美沙拉嗪肠溶片可以长期吃吗