AutoCAD与易语言交互开发指南
计算机辅助设计(CAD)软件开发及应用方案(一)
计算机辅助设计(CAD)软件开发及应用
方案
一、实施背景
随着全球数字化趋势的加强,计算机辅助设计(CAD)软件在各产业领域的应用越来越广泛。传统的CAD软件无法满足多元化、个性化的需求,同时,随着5G、物联网、人工智能等新技术的发展,对CAD软件提出了更高的要求。因此,进行产业结构改革,开发新一代的CAD软件势在必行。
二、工作原理
本方案旨在开发一款基于云计算、大数据、人工智能的新一代CAD软件。软件将采用模块化设计,包括基础绘图模块、高级设计模块、定制化设计模块等。用户可以通过统一的界面进行操作,也可以根据需求选择相应的模块进行个性化定制。
1.基础绘图模块:提供基础的绘图工具,如直线、圆、矩
形等,用户可以通过简单的拖拽、点击进行基础绘图操
作。
2.高级设计模块:在基础绘图模块的基础上,提供高级设
计工具,如曲面、渲染、物理模拟等,帮助用户进行更
为复杂的设计。
3.定制化设计模块:通过人工智能技术,根据用户的使用
习惯和需求,为用户提供定制化的设计建议和方案,提
高设计效率。
三、实施计划步骤
1.需求分析:深入调研各行业对CAD软件的需求,包括
机械制造、建筑、电子等不同领域的需求。
2.技术研发:根据需求分析结果,开发相应的功能模块,
包括基础绘图模块、高级设计模块和定制化设计模块。
3.测试与优化:对开发完成的功能模块进行严格的测试,
确保软件的稳定性和性能。根据测试结果,对软件进行
优化和改进。
4.市场推广:针对不同行业进行市场推广活动,包括线上
宣传、参加行业展会、与行业领导者合作等。
5.持续服务:提供持续的技术服务和技术支持,确保用户
利用CAD进行应用程序开发的技巧
利用CAD进行应用程序开发的技巧在现代设计和制造领域,CAD(计算机辅助设计)软件已经成为了
无可替代的工具。不仅可以用于绘制三维模型和制作图纸,CAD还可
以用于应用程序开发。下面将介绍一些利用CAD进行应用程序开发的
技巧。
1. 学习AutoLISP语言:AutoLISP是一种特定于AutoCAD的编程语言,用于自动化任务和添加新功能。学习AutoLISP可以帮助开发人员
通过编写自定义命令和程序来扩展CAD的功能。通过AutoLISP,可
以创建自定义的绘图命令、图块和图层管理工具等等。AutoLISP语言
简单易学,可以快速提高工作效率。
2. 使用VBA(Visual Basic for Applications):VBA是一种通用的
编程语言,可以用于多种应用程序开发,包括CAD。VBA可以与AutoCAD集成,通过编写宏和自定义命令来自动执行各种CAD操作。通过使用VBA,可以创建基于用户输入的表单、自动执行批量操作和
数据处理等功能。
3. 开发插件和扩展:CAD软件通常具有扩展的功能,可以通过插件来增强其功能。开发插件可以根据自己的需求添加新的工具和功能,
以提高CAD的灵活性和适应性。插件的开发通常需要使用C++、C#等编程语言,需要一定的编程知识和技巧。
4. 利用CAD API:CAD软件通常提供了API(应用程序接口),
可用于开发自定义应用程序。通过使用API,可以访问CAD软件的各
种功能和对象,用于自动化操作和与其他应用程序进行集成。例如,
AutoCAD提供了AutoCAD .NET API和AutoCAD ObjectARX API,可以用于开发专业级的应用程序。
AutoCAD二次开发实用教程第12章 使用ActiveX
4.在展开的目录树上双击 。
5.在Objects目录下双击AutoCAD图形对象。
12.5 在Visual LISP函数中使用ActiveX方法
Visual LISP为AutoLISP提供了一系列操作ActiveX对
象的函数,这些函数可分为以下几种:
第12章 使用ActiveX
许多语言和环境都可以使用ActiveX编程界面,
如C++、Visual Basic、Java和Delphi等。在
AutoLISP中使用ActiveX对象,与其模型、属性和
方法和在其他编程环境中使用的ActiveX对象完全
相同。
12.1 在AutoLISP中使用ActiveX对象
4. 图形的模型空间(modelspace)和图纸空间(paperspace)。
12.2 AutoCAD对象模型
AutoCAD对象是通过分层方式来组织的,应用程序
(Application)对象为根对象。这种分层结构的视图被归
结为对象模型。Application对象还提供指向AutoCAD图 形(通过Documents集合)、AutoCAD菜单和工具栏 (通过 MenuBa 和MenuGroup 集合)以及 VBA IDE (通过VBE特性)的链接。
12.7 修改图形对象的属性
AutoCAD二次开发语言及工具介绍
AutoCAD二次开发语言及工具介绍
AutoCAD荣登全球绘图软件的龙头宝座,主要是因为它具有开放的体系结构。它允许用户和开发者采用高级编程语言对其进行扩充和修改,即二次开发,能最大限度地满足用户的特殊要求。AutoCAD第一版于1982年11月由AutoDESK公司推出,目前大家广泛使用的是AutoCAD 2000或2002,最新版本是AutoCAD 2004,其二次开发语言及工具也在不断地涌现,本文做了一些介绍。
1 AutoLISP
AutoLISP的全名是LIST Processing Language,她出现于1985年推出的AutoCAD R2.18中,是一种嵌入在AutoCAD内部的编程语言,是LISP原版的一个子集,她一直是低版本AutoCAD的首选编程语言。它是一种表处理语言,是被解释执行的,任何一个语句键入后就能马上执行,它对于交互式的程序开发非常方便。其缺点是继承了LISP语言的编程规则而导致繁多的括号。
3 ADS
ADS的全名是AutoCAD Development System,它是AutoCAD的C语言开发系统,ADS本质上是一组可以用C语言编写AutoCAD应用程序的头文件和目标库,它直接利用用户熟悉的各种流行的C语言编译器,将应用程序编译成可执行的文件在AutoCAD环境下运行,这种可以在AutoCAD环境中直接运行的可执行文件叫做ADS应用程序。ADS由于其速度快,又采用结构化的编程体系,因而很适合于高强度的数据处理,如二次开发的机械设计CAD、工程分析CAD、建筑结构CAD、土木工程CAD、化学工程CAD、电气工程CAD等。
CAD教程 交互演示与展示制作
CAD教程:交互演示与展示制作CAD(Computer-Aided Design,计算机辅助设计)是一种利用计算
机进行设计和绘图的技术。在CAD领域中,交互演示与展示是一个重
要且受欢迎的应用。本教程将介绍如何使用CAD软件制作交互演示与
展示。
首先,打开CAD软件并创建一个新项目。选择适合你设计的模板,并开始导入你将要用到的图形和元素。CAD软件通常支持导入各种不
同格式的文件,如JPEG、PNG和SVG等。在导入图形和元素后,你
可以根据需要进行缩放、旋转和移动等操作来调整它们的位置和大小。
接下来,你可以开始添加交互功能。例如,你可以添加按钮、滑块
和菜单等控件,以实现与用户的互动。选择合适的控件并将其放置在
适当的位置。之后,你需要为每个控件定义相应的功能。这可以通过
编写脚本或使用CAD软件内置的交互功能编辑器来完成。请注意,交
互功能的设计应该与你的设计目标和目的相一致。
一旦你完成了交互功能的设计,你可以开始为演示和展示添加动画
效果。CAD软件通常提供了丰富的动画制作工具和特效库。你可以选
择适当的动画效果,并将它们应用到你的图形和元素上。通过调整动
画的持续时间、速度和延迟等属性,你可以使你的演示更加生动和吸
引人。
在添加动画效果时,一定要注意不要过度使用,以免分散用户注意
力或造成混乱。保持简洁和连贯的原则是制作交互演示与展示的关键。
确保你的动画效果能够突出你想要强调的重点,并顺畅地过渡到下一
个场景或元素。
另外,你还可以考虑给你的交互演示与展示添加声音和音乐。CAD
软件通常支持导入音频文件,你可以选择合适的音乐或声效来增强用
AutoCAD与易语言交互开发指南
5.保存完成后,会有提示信息提示你是否要把我们注册好的类型库保存到“易语言”目录中去,选择【是】会提示安装成功。
6.运行“易语言”,在工具→支持库配置,将AutoCAD2007类库前面打“√”,设为所需要使用的支持库,在工具夹的支持库里就会看到我们刚才注册的类型库,见图1.2.5。用同样的方法可以添加“AutoCAD/ObjectDBX Common 17.0 Type Library”类型库,保存类型库文件,文件名为“axdb17chs.npk”。
文本目录第一章autocad与易语言交互开发基础11autocad与易语言交互开发环境12helloword练习示例第二章理解autocad对象操作基础1022访问对象层次1523集合对象操作1524理解属性和方法1825理解父对象1826引用类型库1827在数据库中返回第一个图元1928使用变体19第三章控制autocad环境2231打开保存和关闭图形22第一章autocad与易语言交互开发基础第一章autocad与易语言交互开发基础本章将为你介绍autocad与易语言交互开发基础知识11autocad与易语言交互开发环境111环境平台autocad与易语言交互开发使首先要确定你的目标平台获得适当的开发环境
启动易语言程序,新建windows窗口程序,在窗体添加按钮1,设置按钮1的标题为“Hello World”,如图1.2.6所示。
外部.NET程序与AutoCAD交互
外部.NET程序与AutoCAD交互
(AutoCAD)开发者一般要么将功能集成到AutoCAD(通过其扩展体系来添加命令、用户界面元素、对象等),要么通过程序来驱动AutoCAD,使通用的任务自动化。这两种方式的界线有时候不是那么明显,我今天要关注的是后者。为了后面的解释方便,我先介绍一下两种应用程序的交互。
一、线程外
此种情况下,我们需要在两个独立的可执行程序之间进行通信。就好比如我需要一个.EXE的执行程序来驱动AutoCAD,我们就需要找到某种方式来启动AutoCAD
并且与之通信-最典型的就是使用COM技术或更早的DDE技术。这种通信方式,确切地说,是通过进程间通信IPC(Inter-Process Communication)来完成,这种方式在传输大量数据时是非常低效的。这就是早期的ADS和外部VB应用程序运行很慢的原因。
二、线程内
当程序代码被编译成DLL,不管是VB建立的Activex Dll,ObjectARX模块,
还是.NET的程序集,程序与AutoCAD主线程之间的通信都要高效得多-数据结构可以通过指针来传递或直接引用,而不是通过低效的IPC编组来发送数据信息。
目前AutoCAD大部分的APIs都是被设计用于"线程内"的-包括LISP,ObjectARX,和.NET API。因为.NET Remoting的实用性,很多人常希望或期盼着AutoCAD能通过.NET从线程外部驱动,不过.NET的托管API并不是这么设计的-它其实就是对ObjectARX的一个封装,其运行是以通过指针对内部对象的直接访问为基础的,完全不可能超越线程的界线。COM自动化技术的最大特点之一就是它就是
NET开发AutoCAD指南
NET开发AutoCAD指南
时下流行的开发AutoCAD的工具,一个是ObjectARX,另一个是AutoCAD自带的VBA(AutoCAD内置的Visual lisp本来也算一个,但它只能开发一些小型的程序,因此不能和前面的两个工具相比)。但两者都存在明显的不足,以VC++为基础的ObjectARX的开发功能无庸质疑是非常强大的,但要想学习并熟练掌握VC++及ObjectARX对于普通人来说是比较困难的。还有大家应该注意到的是,ObjectARX是以VC++为基础的,但就是最新的ObjectARX2006也只能用Visual 2001来进行开发,而不能使用现在普遍使用的Visual 2003(当然不能用更高版本的Visual 了)。而VBA正好相反,非常容易上手,但对于编写高效或者复杂的程序就不是那么简单的事情了。更为糟糕的是,VBA已没有更新的版本了,因为VB已经被取代了。
那到底有没有一种结合ObjectARX和VBA优点的开发AutoCAD的工具呢?答案就是利用功能强大并且易用的.net。对于AutoCAD 2004及以前的版本,大家可以使用ActiveX 来进行AutoCAD 的.net程序开发(我也写过这方面的文章),但开发出来的程序还不是真正意义上的.net程序,功能不是很强大,和ObjectARX或VBA相比没有任何的优势而言。到了AutoCAD2005,有了真正的可以开发.net程序的ObjectARX® Managed Wrapper Classes,随着最新的AutoCAD2006的发布,ObjectARX® managed wrapper classes的性能被大幅度提升,以前只有ObjectARX才有的一些函数和功能(而这些东东往往对于AutoCAD 的开发是非常重要的),现在ObjectARX® managed wrapper classes都提供了。
AutoCAD VBA工程及VBA交互开发环境教程
目录
第一章VBA入门 (1)
1.1了解嵌入和全局VBA工程 (1)
1.2用VBA管理器组织工程 (1)
1.3处理宏 (3)
1.4用VBA IDE编辑工程 (4)
1.5更多的信息 (9)
1.6回顾AutoCAD VBA 工程术语 (9)
1.7回顾AutoCAD VBA 命令 (10)
第二章理解ActiveX自动操作基础 (10)
2.2访问对象层次 (14)
2.3通过集合对象操作 (15)
2.4理解属性和方法 (17)
2.5理解父对象 (17)
2.6定位类型库 (17)
2.7在数据库中返回第一个图元 (17)
2.8在方法和属性中使用变体 (18)
2.9使用其它程序语言 (19)
第三章控制AutoCAD环境 (22)
3.2设定AutoCAD参数 (24)
3.3控制应用程序窗口 (24)
3.4控制图形窗口 (25)
3.5重置活动对象 (32)
3.6设定和返回系统变量 (33)
3.7精确制图 (33)
3.8提示用户输入 (38)
3.9访问AutoCAD命令行 (41)
3.10工作于无打开文档状态 (41)
3.11输入其它文件格式 (41)
3.12输出到其它文件格式 (42)
第四章创建和编辑AutoCAD图元 (43)
4.1创建对象 (43)
4.2编辑对象 (50)
4.3使用图层、颜色和线型 (71)
4.4添加文本到图形中 (81)
第五章标注与公差 (95)
5.1标注的概念 (95)
5.2创建标注 (97)
5.3编辑标注 (101)
5.4利用标注样式 (102)
5.5在模型空间和图纸空间中标注 (105)
第6讲 AutoCAd内部命令调用及用户交互
3
C++ Dll接口: void CplusplusToCsharp(in char** AgentID, out char** AgentIP); C#中的声明: [DllImport("Example.dll")] public static extern void CplusplusToCsharp(char[] AgentID, byte[] AgentIP); C#中的调用: Encoding encode = Encoding.Default; byte[] tAgentID; byte[] tAgentIP; string[] AgentIP; tAgentID = new byte[100]; tAgentIP = new byte[100]; CplusplusToCsharp(encode.GetChars(tAgentID), tAgentIP); AgentIP[i] = encode.GetString(tAgentIP,i*Length,Length);
国家制造业信息化工程重大项目 -------CAD 二次开发 6
1、C#调用dll时的类型转换
结构转换 Win32: 使用结构指针作为参数的函数: BOOL GetSystemPowerStatus( LPSYSTEM_POWER_STATUS lpSystemPowerStatus); Win32中该结构体的定义: typedef struct _SYSTEM_POWER_STATUS { BYTE ACLineStatus; BYTE BatteryFlag; BYTE BatteryLifePercent; BYTE Reserved1; DWORD BatteryLifeTime; DWORD BatteryFullLifeTime; } SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
CAD软件的接口设计与软件开发
CAD软件的接口设计与软件开发
随着计算机技术的不断发展,CAD技术在图像设计学中分离出来,从而成为单一的计算机技术之一。目前,工业生产以及艺术设计等方向都能够应用到CAD技术,其强大的图像分析以及设计能力,在多个领域中都有着卓著的表现,从而成为了人们生产与生活的中一项重要的工具。机械工业中的机械生产,需要进行机械结构的预先模拟与设计。CAD技术,可以实现3D的CAD仿真结构视图,从而实现机械设计的高效仿真。从生产的角度分析,CAD技术实现了工业中的模拟仿真效果,并在很大程度上保证了产品的后期外观与质量。在工作中,CAD为广大艺术设计人士提供了便利的设计平台。本文将对CAD进行重点阐述,并针对其相应的开发软件进行分析。
二、CAD的概念解析
CAD是英文单词Computer Aided Design的英文所缩写,中文意思为计算机的辅助设计。因此,从计算机角度出发,CAD也属于计算机技术之一。计算机辅助设计技术,是为了能够通过计算机这样的平台,针对不同的图像设计方案进行分析与计算,从而帮助设计人员完成设计。CAD的主要作用,是在面对不同的设计方案的时候,能够通过对图像设计的方案进行详尽的计算和分析,从而在诸多的设计方案中,挑选最佳的设计方案,完成设计的主要流程。CAD的工作原理,是利用计算机的计算与分析能力,通过智能检索功能,完成设计过程中最为重要的环节。
学习设计的人们都清楚,设计分为设计草图与设计工作图。草图需要设计人员自己进行设计,然后就是将草图变成设计工作图。这是一个非常复杂的过程,但是如果通过CAD技术,将草图的相关数据进行整理,录入,通过其检索设计,就可以实现草图到工作图的转变。因此,CAD主要是用于作图。通过计算机,将图像进行调整,设计人员可以将计算机生产的工作图做出相应的改变,从而进行编辑与修改,
--AUTOCAD与其他软件的交互
--AUTOCAD与其他软件的交互
从事设计工作,除了要使用到AUTOCAD外,还经常要使用到其他软件,如Sketchup、Photoshop、Lightcape、3dMax、CorelDraw、Word、Excel等,有时会碰到各个软件的交互。这一部分,谈谈我在这方面的经验。
一、Sketchup
Sketchup这个软件出来的时间不长,但应该说深受广大建筑设计人员的喜爱,因为它可以很方便的将平面的图形立起来,进行体块的研究,或者是细部的推敲。在很多设计公司,现在都是先将建筑设计(包括装修、规划、城市设计等)用Sketchup竖起来,推敲好,再提给效果图公司建模绘效果图。这样也有利于效果图公司能够比较直观地了解需要建模的对象。我建议所有的建筑师,特别是年轻的建筑师,都要一定程度的了解Sketchup。建筑设计绝对不是平面设计,除了在平面中考虑流线、功能外,其他都要3维的考虑。国外的好的设计都是经过一轮轮不同比例的模型推敲的。
Sketchup与Autocad的交互很简单,在Autocad中绘制到一定程度,需要SU时,整理一下dwg文件,删除掉一些没用的东西,保留下基本的平面图,并选中所有图元,将其中的某个基准点Move到0,0,0坐标(不这样做的话,你在SU中会找不到图形的),保存,SU中导入即可。
二、3dMax
3dMax,最常规也最常用的效果图绘制软件,建模非常方便(与Sketchup建模不同,不多叙述,反正一般建筑师用Sketchup,效果图制作者用3dMax就对了,两者的建模思路不同)。现在也经常使用一些渲染器如VRay、巴西等等来配合进行好的效果的渲染。
AutoCAD论文AutoCAD开发技巧论文
AutoCAD论文AutoCAD开发技巧论文:
AutoCAD的开发技巧与应用
摘要:AutoCAD是目前国内外使用最广泛的计算机辅助绘图和设计软件包,它适用于机械、电子、建筑等多种领域。AutoCAD具有开放的体系结构,允许用户对其进行扩充与修改,开发出满足特殊专业需要的AutoCAD增值软件。
关键词:AutoLISP;AutoCAD;初始设置;菜单;属性块;参数化;对话框
对于机械工程设计人员在绘制一幅完整的机械制图时,需完成初始化设置、选择图幅大小、图幅比例、标题栏、形位公差与表面粗糙度和尺寸等的标注、特殊的绘图功能等。笔者在AutoCAD 2002 的版本下进行了二次开发(其它版本大同小异)。
1 AutoCAD 的初始设置
一幅好的图幅模板需包括:图幅的大小、图幅比例、标题栏等。下面以A3图幅建立模板文件为例进行说明。
1.1 绘图模板的建立
(1)创建新图(new):设置模型空间界限(limits)、文字样式(style)、标注样式(dimstyle)、绘图单位(units)、图层(layer)、选项设置(options)、分辨率的设置(viewres)等。
(2)保存路径为C:/Program Files/AutoCAD 2002/T emplate,文件名为acad,文件类型为AutoCAD图形样板文件(*.dwt),在样
板说明中可输入“通用模板”,最后按“保存”按钮。
1.2 图幅模板的建立
(1)根据企业的具体规定来绘制标题栏的格式与大小,并定义相应的属性。
(2)属性定义(ddattdef),弹出属性定义对话框。
autoCAD二次开发第六讲 界面数据交互编程3
三、带轮基准直径计算
三、带轮基准直径计算
1、更新带轮直径数据 Private Sub CMBBeltType_Change() Dim record As ADODB.Recordset Dim strSQl As String
CMBdd.Clear strSQl = "select * from V带轮基准直径" Call readRecordset(record, strSQl) record.MoveFirst
record.MoveFirst Do If record.Fields(1) >= dd2 Then ddTxt2 = record.Fields(1) Exit Do End If record.MoveNext Loop While (Not record.EOF) calRatio = i ITxt = Round(i, 2) Else MsgBox "带速超出允许值,请重新选择带轮直径!", vbOKOnly, "警告" End If
AUTOCAD与高级语言接口
成
3
dx f
文 件 图形
文件 图 形
节 中各个实体 的名 称等 面 的 字 符 串 参数 说 明
“
具 体表示 的 内容 由后
结 束语 x d
f 是 专 为与 高 级 语 言 进 行 通 讯 而 创 建 的
,
”
。
代码 代码 代码
代码
1
:
A U T O CA D 的版 本 号 及 在 图 形 中
。
一 种 数 据 文 件 只 要 了 解 了 一 个 标 准 d对 文 件 的结 构 就 可 使 用 各种 高 级 语 言 在 使 用 A SC
A U T O C A I〕 的 1
、 , 。
,
(1 ) 线型表 ( t L
y
) 给 出 了 图形 编 辑 过 程
中 能使 用的 线的 类 型 及数 量 并 给 出 了这 些线 的 相应参数
。
编辑 功 能把 等 高 线 断 开 因此 必 须 利 用 A U
*
,
如
(2 ) 层次表 (
, :
La
e ) 给 出了 整 个 图形 所 引 ’ y
1 5
*
。
,
,
,
f 件 后缀 为 d x
1 1
,
,
其 整 体 组织 分 为 5 个 节
e a
AutoCAD使用及二次开发
第三章AutoCAD使用及二次开发
第一节计算机图形学概要
计算机图形学是关于计算机图形技术的学科。它主要研究构造模型并利用计算机及其图形设备生成、处理、存储、输入与输出图形的有关原理、算法和技术,在工程领域有广泛的应用,因此学习和掌握计算机图形技术对于工程技术人员来讲,具有十分重要的现实意义。
计算机图形学是CAD领域的理论基础,涉及的内容广泛,这里我们主要介绍基本概念及有关的一些算法,它们包括曲线、曲面的设计以及几何造型技术等。
一、坐标变换
坐标变换是图形处理的一种手段。对于不同类型的形体、图形和图纸,在不同的处理阶段需要采用不同的坐标系,以提高图形处理的效率和便于用户的理解。下面介绍一些与坐标变换有关的概念。
1.坐标系
在图形处理过程中涉及到多种不同的坐标系,但概括起来可以把坐标系分成两大类:一类是面向系统的,例如绘图机和图形显示器等图形设备坐标系以及语言环境设置的窗口等,它主要用于实现绘图定位;另一类是面向用户的,例如图形坐标系、自然坐标系等,它用于分析图形自身的关系、建立数学模型以及采集数据。
2.齐次坐标
在数学上,齐次坐标是空间位置矢量的一种表示方法。一个n维位置矢量,在普通坐标下表示为[x1,x2,…,x n],它的齐次坐标表示在齐次坐标下将矢量表示成n+1维空间位置矢量[hx1,hx2,hx3,…,hx n,h],h为比例因子。当h=1时,空间位置矢量为[x1,x2,…,x n,1],并称为其次坐标的规格化形式,在图形变换中一般采用这种规格化形式,此时在数值上齐次坐标与普通坐标相等。这种n+1维向量表示一个n维向量的坐标表示方法称为齐次坐标表示法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本节将要介绍开发环境的构建,包括开发类库的获得、开发类库的组成部分、AutoCAD类库的安装。
你也可以采用本节的方法以其他AutoCAD版本未平台构建开发环境,目前常用的版本为AutoCAD 2004和AutoCAD2007,最高版本为AutoCAD2011。一般来说,开发类库的版本和AutoCAD的版本是对应的。AutoCAD2004、AutoCAD2005和AutoCAD2006类库版本为16,AutoCAD2007、AutoCAD2008和AutoCAD2009类库版本为17,AutoCAD2010、AutoCAD2011类库版本为18。
启动易语言程序,新建windows窗口程序,在窗体添加按钮1,设置按钮1的标题为“Hello World”,如图1.2.6所示。
图1.2.6
双击按钮1进入窗口程序集1编写如下代码:
程序运行显示效果见图1.2.7
图1.2.7
当程序运行完成后,你可看到在命令行中出现有“Hello World”的提示文本。
10.DBX类库中没有EndUndoMark、LoadShapeFile、PurgeAll、Regen、SendCommand、StartUndoMark、WBlock方法。
相比每张图形文件都在CAD程序中打开操作而言,DBX无疑是效率高很多的,目前CAD免费提供的DBX并不是ObjectDBX的全部,完整版的ObjectDBX可以完全脱离AutoCAD程序操作dwg文件,但完全版需购买才能获得。
1.
你可以使用易语言“类型库及OCX组件”工具定义、汉化、安装AutoCAD自带的类型库,构建开发环境,以AutoCAD2007为例,步骤如下:
1.在工具菜单中选择【类型库或OCX组件->支持库】,弹出标题为“请选择欲包装的OCX组件或类型库”的对话框。
图1.2.1
2.向下拖动滚动条,可以看到一个类型库的分类,在类型库分类中选中类型库
应用程序对象也提供通过文档(Documents)集合链接到AutoCAD图形、通过菜单栏(MenuBar)和菜单组(MenuGroups)集合链接到AutoCAD菜单和工具栏。
应用程序对象也是AutoCAD界面的全局对象。也就是说应用程序对象的所有方法和属性在全局名称空间都是有效的。
2.2.2
文档对象,实际上就是AutoCAD图形,它可以在文档集合(Documents)中找到,它提供访问所有图形还有大部分非图形的AutoCAD对象。通过提供的模型空间(ModelSpace)和图纸空间(PaperSpace)访问图形对象(线、圆、弧等),通过提供的如Layers(图层)、Linetypes(线型)和TextStyles(文字样式)这样名称的集合访问非图形对象(如图层、线型、字型等)。文档(Document)对象也提供访问打印出图(Plot)和实用工具(Utility)对象。
通过用户定义变量引用对象,首先定义变量的类型,然后设定变量为适当的对象。例如,以下代码定义一个类型为模型空间(AcadModelSpace)的变量“模型空间1”,设定变量等于“文档1”的模型空间:
以下语句使用用户定义变量增加一条直线到“文档1”的模型空间中
访问应用程序对象
文档对象之上对象层次为根对象(应用程序对象),以下代码为“文档1”对象链接到“应用程序”变量“AuCAD2007程序”的活动文档。
1.
本节介绍一个简单的“Hello World”的练习示例,虽然它很简单,但是用来描述程序的基本结构却非常合适。
程序所要展示的效果非常简单:当用户点击按钮【Hello,word】时,启动AutoCAD应用程序,在命令行中输入Hello并按下Enter键,AuΒιβλιοθήκη BaiduoCAD会在命令行提示显示“HelloWorld”。
第二章 理解
2.1理解AutoCAD对象模型
一个对象就是AutoCAD界面里的一个主要功能组成单元。每一对象均描绘了AutoCAD的一个主要功能的精确部分。在AutoCAD界面里中有许多不同类型的对象。例如:图形对象,如线、圆、文本、多段线、三维面和标注等对象;样式设置,如线型和文字样式、标注样式均为对象;组织结构,如图层、组合和图块也是对象;图形显示,如视图和视口都是对象;甚至图形和AutoCAD应用程序本身也是对象。各个对象之间是通过分层方式来组织的,应用程序对象为根对象。这种分层结构的视图被归结为对象模型。对象模型提供了你访问按层次排列的每一个对象的途径。
2.2.5
在参数选择(Preferences)对象下边为对象集,每一对象集都与选项对话框的一个选项卡相关。它们共同提供访问在选项对话框中所有的注册设置。图形设置包含在数据库参数选择(DatabasePreferences)对象中。你也可通过SetVariable和GetVariable方法来设定和修改选项(系统变量不是选项对话框的一部分)。设置选项的详细内容请参考“设定AutoCAD参数”。
图1.2.5
至此AutoCAD 2007版本的两个类型库“AutoCAD 2007Type Library版本1.0”类型库(以下简称AutoCAD类库)和“AutoCAD/ObjectDBX Common 17.0 Type Library”类型库(以下简称ObjectDBX类库)安装成功了。
1.2.
“AutoCAD 2007 Type Library版本1.0”。
图1.2.2
3.点击【下一步】,会看到一个类似我们使用过的OCX注册那样的窗口,可以在这里对这个类型库进行汉化操作。
图1.2.3
4.选中AutoCAD,点击【保存】,弹出通用对话框,选择保存目录,保存类型库文件,文件名为“acax17chs.npk”。
7.DBX中没有设置当前标注样式、字体样式、图层、布局、线型、视口、选择集等项。
8.由于DBX类库中的SaveAs方法只能另存为当前版本的DWG文件,没有Export和Import方法,所以增加了DXFIn和DXFOut两个方法来输入和输出DXF文件。
9.DBX类库中没有保存SetVariable和读取GetVariable系统变量的方法。
易语言提供对OCX控件、类型库、API函数、COM协议等一系列接口的支持,并开放其支持库接口技术文档供第三方使用,这为AutoCAD与易语言交互开发提供了良好的技术支持。易语言与AutoCAD交互开发全中文编程可以摆脱英语的瓶颈,宜于理解和交流,在很短的时间就可以掌握编程操作AutoCAD的关键技术。学习和掌握AutoCAD与易语言交互开发技术,对于非专业的AutoCAD二次开发人员,是个不错的选择。
打印出图(Plot)对象提供访问在打印对话框的设定,并且让其它程序可以使用不同的方法打印图形。图形打印的相关内容请参考“打印图形”。
实用工具(Utility)对象提供用户输入和转换功能。用户输入功能是在AutoCAD命令行中提示用户输入不同类型数据的方法,如输入字符串、整数、实数、点等。转换功能是操作AutoCAD特有数据类型的方法,如点和角度,另外还有字符串和数字的处理。用户输入功能的相关内容请参考“提示用户输入”。
作者:石头也疯狂
QQ:58530494
声明:本教材部分内容来源于互联网,这部分内容版权归其作业所有。本教材只用于交流严禁转载!
目 录
第一章
本章将为你介绍AutoCAD与易语言交互开发基础知识
1.1
1.1.1
AutoCAD与易语言交互开发使,首先要确定你的目标平台,获得适当的开发环境。如果你是在AutoCAD 2007平台上开发,你就需要具备下面的工具和软件:
对比安装的AutoCAD类库和ObjectDBX类库发现两个类型库会发现很多函数命令都是一样的,两者均可以对AutoCAD对象进行操作,但两者是有所区别的,AutoCAD类库类库命令必须打开“*.dwg”图形文件”然后对文件中中对象进行操作。ObjectDBX类库不需要打开“*.dwg”图形文件,可直接对*.dwg文件中的文件中对象进行操作。
图1.2.4
5.保存完成后,会有提示信息提示你是否要把我们注册好的类型库保存到“易语言”目录中去,选择【是】会提示安装成功。
6.运行“易语言”,在工具→支持库配置,将AutoCAD2007类库前面打“√”,设为所需要使用的支持库,在工具夹的支持库里就会看到我们刚才注册的类型库,见图1.2.5。用同样的方法可以添加“AutoCAD/ObjectDBX Common 17.0 Type Library”类型库,保存类型库文件,文件名为“axdb17chs.npk”。
非图形对象为不可见(指示性)对象,它们是图形的一部分,就如图层(Layers)、线型(Linetypes)、标注样式(DimStypes)、选择集(SelectionSets)等。创建这些对象,可在父集合对象中使用添加(Add)方法。而修改或查询这些对象,可使用对象自身的方法和属性。每一非图形对象均有其特殊的方法及属性以实现某种功能;所有对象都有方法可以设定及返回扩展数据。
2.1.1
应用程序对象是AutoCAD对象模型的根对象。通过应用程序对象,你可访问其它的每一个对象,并指派对象的属性和方法。应用程序对象的其它属性提供你访问应用程序指定的数据,如应用程序的名称和版本、还有AutoCAD的窗口大小、位置和可见性等。应用程序对象的方法执行应用程序指定的动作,如列出、装载、卸载ADS和ARX应用程序,还有退出AutoCAD。
ObjectDBX类库比AutoCAD类库少了一些类库命令:
1.DBX类库中没有Application对象,也就是说没有应用程序对象,所以一切与该对象有关的属性方法都不可用。
3.DBX类库中没有打印项,但有打印配置。
4.DBX类库中没有选择集。
5.DBX类库中没有菜单和工具栏项。
6.DBX类库中没有Utility(实用工具)项,也就是说该项中的各种数据的输入方法都不可用。
集合也拥有共用的一些其它方法和属性。“成员数(Count)”属性可用于获取集合中对象的数目。“取成员(Item)”方法可用于获取集合中的对象。
2.2.4
图形对象,也称为图元,它是构成图形的可见对象(如直线、圆、光栅图像等)。创建这些对象,可用在模型空间或图纸空间对象中创建。修改或查询这些对象,可使用对象自身的方法和属性。每一图形对象都有方法允许应用程序执行大部分的AutoCAD编辑命令,如复制、删除、移动、还有镜像等。这些对象也有相应方法可以设定及返回扩展数据(xdata)、高亮和更新、返回对象的边框范围等。图形对象具有如图层、线型、颜色和句柄这样典型的属性。它们也有其特殊的依赖于这些对象类型的属性,如圆心、半径和面积等。
2.2
用易语言与AutoCAD应用程序进行连接并访问其对象是非常容易的。通过在易语言中定义变量引用AutoCAD对象,然后用定义的变量链接到当前AutoCAD进程并获取其活动图形。通过使用定义的变量可以直接获得访问当前文档对象和所有相关的方法和属性以及所有在该层次中的其它对象。
在对象层次中引用对象
你可直接可通过用户定义变量引用对象。直接引用对象,应包括对象的层次。例如,以下语句创建一条直线到模型空间。注意到层次状态为文档(Document),然后是模型空间(ModelSpace)对象,最后才是创建直线(AddLine)方法:
2.2.3
AutoCAD组合大部分的对象在集合中。尽管这些集合包含不同类型的数据,但它们是通过相似的技术进行处理。每一集合都有添加对象到集合中的方法。大多数集合使用“添加(Add)”方法添加集合成员对象。不同的是,图元对象通常使用标头为“Add+图元对象名称”这样的方法来进行添加。例如,添加一条直线你必须使用Addline方法。为便于理解,类库中翻译为“创建直线”,直译应为添加直线。
前言
易语言是一门计算机程序语言。以“易”著称,以中文作为程序代码表达的语言形式。易语言的创始人是吴涛。早期版本的名字为E语言。易语言最早的版本的发布可追溯至2000年9月11日。可以说,创造易语言的初衷是进行用中文来编写程序的实践。从2000年至今,易语言已经发展到一定的规模:功能上、用户数量上都十分可观。