当前位置:文档之家› AutoCAD与易语言交互开发指南

AutoCAD与易语言交互开发指南

集合也拥有共用的一些其它方法和属性。“成员数(Count)”属性可用于获取集合中对象的数目。“取成员(Item)”方法可用于获取集合中的对象。
2.2.4
图形对象,也称为图元,它是构成图形的可见对象(如直线、圆、光栅图像等)。创建这些对象,可用在模型空间或图纸空间对象中创建。修改或查询这些对象,可使用对象自身的方法和属性。每一图形对象都有方法允许应用程序执行大部分的AutoCAD编辑命令,如复制、删除、移动、还有镜像等。这些对象也有相应方法可以设定及返回扩展数据(xdata)、高亮和更新、返回对象的边框范围等。图形对象具有如图层、线型、颜色和句柄这样典型的属性。它们也有其特殊的依赖于这些对象类型的属性,如圆心、半径和面积等。
启动易语言程序,新建windows窗口程序,在窗体添加按钮1,设置按钮1的标题为“Hello World”,如图1.2.6所示。
图1.2.6
双击按钮1进入窗口程序集1编写如下代码:
程序运行显示效果见图1.2.7
图7
当程序运行完成后,你可看到在命令行中出现有“Hello World”的提示文本。
非图形对象为不可见(指示性)对象,它们是图形的一部分,就如图层(Layers)、线型(Linetypes)、标注样式(DimStypes)、选择集(SelectionSets)等。创建这些对象,可在父集合对象中使用添加(Add)方法。而修改或查询这些对象,可使用对象自身的方法和属性。每一非图形对象均有其特殊的方法及属性以实现某种功能;所有对象都有方法可以设定及返回扩展数据。
AutoCAD 2007中文版。易语言5.0。
本节将要介绍开发环境的构建,包括开发类库的获得、开发类库的组成部分、AutoCAD类库的安装。
你也可以采用本节的方法以其他AutoCAD版本未平台构建开发环境,目前常用的版本为AutoCAD 2004和AutoCAD2007,最高版本为AutoCAD2011。一般来说,开发类库的版本和AutoCAD的版本是对应的。AutoCAD2004、AutoCAD2005和AutoCAD2006类库版本为16,AutoCAD2007、AutoCAD2008和AutoCAD2009类库版本为17,AutoCAD2010、AutoCAD2011类库版本为18。
应用程序对象也提供通过文档(Documents)集合链接到AutoCAD图形、通过菜单栏(MenuBar)和菜单组(MenuGroups)集合链接到AutoCAD菜单和工具栏。
应用程序对象也是AutoCAD界面的全局对象。也就是说应用程序对象的所有方法和属性在全局名称空间都是有效的。
2.2.2
文档对象,实际上就是AutoCAD图形,它可以在文档集合(Documents)中找到,它提供访问所有图形还有大部分非图形的AutoCAD对象。通过提供的模型空间(ModelSpace)和图纸空间(PaperSpace)访问图形对象(线、圆、弧等),通过提供的如Layers(图层)、Linetypes(线型)和TextStyles(文字样式)这样名称的集合访问非图形对象(如图层、线型、字型等)。文档(Document)对象也提供访问打印出图(Plot)和实用工具(Utility)对象。
2.2.3
AutoCAD组合大部分的对象在集合中。尽管这些集合包含不同类型的数据,但它们是通过相似的技术进行处理。每一集合都有添加对象到集合中的方法。大多数集合使用“添加(Add)”方法添加集合成员对象。不同的是,图元对象通常使用标头为“Add+图元对象名称”这样的方法来进行添加。例如,添加一条直线你必须使用Addline方法。为便于理解,类库中翻译为“创建直线”,直译应为添加直线。
1.
本节介绍一个简单的“Hello World”的练习示例,虽然它很简单,但是用来描述程序的基本结构却非常合适。
程序所要展示的效果非常简单:当用户点击按钮【Hello,word】时,启动AutoCAD应用程序,在命令行中输入Hello并按下Enter键,AutoCAD会在命令行提示显示“HelloWorld”。
“AutoCAD 2007 Type Library版本1.0”。
图1.2.2
3.点击【下一步】,会看到一个类似我们使用过的OCX注册那样的窗口,可以在这里对这个类型库进行汉化操作。
图1.2.3
4.选中AutoCAD,点击【保存】,弹出通用对话框,选择保存目录,保存类型库文件,文件名为“acax17chs.npk”。
易语言提供对OCX控件、类型库、API函数、COM协议等一系列接口的支持,并开放其支持库接口技术文档供第三方使用,这为AutoCAD与易语言交互开发提供了良好的技术支持。易语言与AutoCAD交互开发全中文编程可以摆脱英语的瓶颈,宜于理解和交流,在很短的时间就可以掌握编程操作AutoCAD的关键技术。学习和掌握AutoCAD与易语言交互开发技术,对于非专业的AutoCAD二次开发人员,是个不错的选择。
对比安装的AutoCAD类库和ObjectDBX类库发现两个类型库会发现很多函数命令都是一样的,两者均可以对AutoCAD对象进行操作,但两者是有所区别的,AutoCAD类库类库命令必须打开“*.dwg”图形文件”然后对文件中中对象进行操作。ObjectDBX类库不需要打开“*.dwg”图形文件,可直接对*.dwg文件中的文件中对象进行操作。
ObjectDBX类库比AutoCAD类库少了一些类库命令:
1.DBX类库中没有Application对象,也就是说没有应用程序对象,所以一切与该对象有关的属性方法都不可用。
3.DBX类库中没有打印项,但有打印配置。
4.DBX类库中没有选择集。
5.DBX类库中没有菜单和工具栏项。
6.DBX类库中没有Utility(实用工具)项,也就是说该项中的各种数据的输入方法都不可用。
作者:石头也疯狂
QQ:58530494
声明:本教材部分内容来源于互联网,这部分内容版权归其作业所有。本教材只用于交流严禁转载!
目 录
第一章
本章将为你介绍AutoCAD与易语言交互开发基础知识
1.1
1.1.1
AutoCAD与易语言交互开发使,首先要确定你的目标平台,获得适当的开发环境。如果你是在AutoCAD 2007平台上开发,你就需要具备下面的工具和软件:
2.2.5
在参数选择(Preferences)对象下边为对象集,每一对象集都与选项对话框的一个选项卡相关。它们共同提供访问在选项对话框中所有的注册设置。图形设置包含在数据库参数选择(DatabasePreferences)对象中。你也可通过SetVariable和GetVariable方法来设定和修改选项(系统变量不是选项对话框的一部分)。设置选项的详细内容请参考“设定AutoCAD参数”。
图1.2.4
5.保存完成后,会有提示信息提示你是否要把我们注册好的类型库保存到“易语言”目录中去,选择【是】会提示安装成功。
6.运行“易语言”,在工具→支持库配置,将AutoCAD2007类库前面打“√”,设为所需要使用的支持库,在工具夹的支持库里就会看到我们刚才注册的类型库,见图1.2.5。用同样的方法可以添加“AutoCAD/ObjectDBX Common 17.0 Type Library”类型库,保存类型库文件,文件名为“axdb17chs.npk”。
图1.2.5
至此AutoCAD 2007版本的两个类型库“AutoCAD 2007Type Library版本1.0”类型库(以下简称AutoCAD类库)和“AutoCAD/ObjectDBX Common 17.0 Type Library”类型库(以下简称ObjectDBX类库)安装成功了。
1.2.
1.
你可以使用易语言“类型库及OCX组件”工具定义、汉化、安装AutoCAD自带的类型库,构建开发环境,以AutoCAD2007为例,步骤如下:
1.在工具菜单中选择【类型库或OCX组件->支持库】,弹出标题为“请选择欲包装的OCX组件或类型库”的对话框。
图1.2.1
2.向下拖动滚动条,可以看到一个类型库的分类,在类型库分类中选中类型库
2.1.1
应用程序对象是AutoCAD对象模型的根对象。通过应用程序对象,你可访问其它的每一个对象,并指派对象的属性和方法。应用程序对象的其它属性提供你访问应用程序指定的数据,如应用程序的名称和版本、还有AutoCAD的窗口大小、位置和可见性等。应用程序对象的方法执行应用程序指定的动作,如列出、装载、卸载ADS和ARX应用程序,还有退出AutoCAD。
第二章 理解
2.1理解AutoCAD对象模型
一个对象就是AutoCAD界面里的一个主要功能组成单元。每一对象均描绘了AutoCAD的一个主要功能的精确部分。在AutoCAD界面里中有许多不同类型的对象。例如:图形对象,如线、圆、文本、多段线、三维面和标注等对象;样式设置,如线型和文字样式、标注样式均为对象;组织结构,如图层、组合和图块也是对象;图形显示,如视图和视口都是对象;甚至图形和AutoCAD应用程序本身也是对象。各个对象之间是通过分层方式来组织的,应用程序对象为根对象。这种分层结构的视图被归结为对象模型。对象模型提供了你访问按层次排列的每一个对象的途径。
7.DBX中没有设置当前标注样式、字体样式、图层、布局、线型、视口、选择集等项。
8.由于DBX类库中的SaveAs方法只能另存为当前版本的DWG文件,没有Export和Import方法,所以增加了DXFIn和DXFOut两个方法来输入和输出DXF文件。
9.DBX类库中没有保存SetVariable和读取GetVariable系统变量的方法。
打印出图(Plot)对象提供访问在打印对话框的设定,并且让其它程序可以使用不同的方法打印图形。图形打印的相关内容请参考“打印图形”。
实用工具(Utility)对象提供用户输入和转换功能。用户输入功能是在AutoCAD命令行中提示用户输入不同类型数据的方法,如输入字符串、整数、实数、点等。转换功能是操作AutoCAD特有数据类型的方法,如点和角度,另外还有字符串和数字的处理。用户输入功能的相关内容请参考“提示用户输入”。
相关主题