当前位置:文档之家› 基于AutoCAD平台的深孔钻CAD软件的开发

基于AutoCAD平台的深孔钻CAD软件的开发

基于AutoCAD平台的深孔钻CAD软件的开发
基于AutoCAD平台的深孔钻CAD软件的开发

机械加工与自动化

基于AutoCAD平台的深孔钻CAD软件的开发The Development of CAD2s oftware for Deep2hole Drilling Based on AutoCAD 西安石油大学深孔加工技术研究所(710065) 朱林 王克印

【摘要】介绍了以VB为开发工具,以AutoC AD为二次开发平台,进行深孔钻C AD软件的开发过程,并对软件的结构及功能进行了分析。

关键词 VB 深孔钻 AutoC AD 二次开发

K eyw ords VB,deep2hole drilling,AutoC AD,re2development

中图分类号:TP391.72 文献标识码:A

深孔加工技术已在国防工业、石油采掘、航空航天、机床、汽车等行业获得了相当广泛的应用,近年来深孔加工技术取得了长足发展,而深孔刀具是深孔加工的关键,直接关系到深孔加工的质量和效率,所以深孔加工刀具的设计与研究也随着科技的发展日趋成为焦点,传统的手工设计或计算机绘图的方法不仅效率低下,且不够直观。目前深孔加工的多品种、小批量的比重日益增加,提高多品种、小批量的劳动生产率成为深孔加工技术的中心课题。为了提高生产率,缩短深孔刀具的设计周期,开发出了1套深孔加工刀具C AD系统。在生产中以BT A 深孔钻应用最广,下面以矩形螺纹联接BT A深孔钻的C AD为例介绍本软件的开发过程。

1 深孔钻设计原则

由于深孔加工是在封闭或半封闭状态下进行的,不能直接观察到刀具的切削情况,因此,刀具的合理设计对于切削的正常进行就显得尤为重要。一般情况下深孔钻的设计应满足3个原则,以下就对这3个原则作一简单介绍。

1.1 刀齿规格选用原则

刀齿规格主要根据切削过程中各刀齿所承受切削负荷的情况来选用,而切削负荷与刀齿宽度有关,刀齿宽度应根据各刀齿的切削状态及钻头直径的大小来分配。刀齿宽度分配应满足3个条件:

1)保证钻尖偏心距e=(0.1~0.2)d0,e值与被加工材料及钻头直径大小有关,其大小决定了钻头径向合力的大小和方向。合理的偏心量使适度的径向力压向已加工孔壁,起稳定钻削、加强导向和提高孔表面质量的作用。同时避免了钻尖的零位切削,改善了钻心处恶劣的切削条件;

2)A +C+e+F>d0/2+(1~2)mm,即各刀齿间必须存在一定的搭接量;

3)A+C-e-F>(1~3)mm,这可使切削径

图1 切削刃宽度分配图

向力始终压向导向块,

导向块紧贴已加工孔

壁向前推进,充分利用

导向块的导向作用,保

证钻孔的直线度。各

变量意义如图1所示。

1.2 刀齿材料选用

原则

刀齿材料应根据

各齿所受的负荷及切削状态来选择。中心齿受较大轴向力,挤压摩擦严重,切削条件恶劣,因此应考虑选用抗弯强度高,抗冲击性好的YG类或Y W类硬质合金刀片;而外齿和中间齿由于切削速度较高,应选用红硬性好,耐磨性高的Y T类刀片材料;导向块应选用耐磨性较好的Y T类材料。对于一般合金钢的加工,所有刀齿材料应选用一种综合性较好的材料,目前采用Y T798。

1.3 刀具角度选用原则

深孔加工刀具的角度主要根据工件材料来定。合理的刀具角度对于保证钻削过程的稳定、断屑及提高刀具耐用度有很大帮助。刀具前角和后角是其中最重要的角度,一般各切削刃的前角γ0=0°,难加工材料取γ0=1°~3°,加工性能好的材料取γ0=3°~6°,脆性或冷硬性材料可取负值;外刃后角一般取α0 =8°~12°,内刃应大些取α0=12°~15°。

2 参数库的建立

对工程数据的管理方法有数据文件化、数据程序化、数据数据库化等方法。本软件采用的是数据

?

8

?《新技术新工艺》?机械加工与自动化 2004年 第9期

数据库化的方法对设计中所用的参数进行管理。设计数据库时应考虑以下4点:1)用最少的时间定位特定的记录;2)用最有效的方式存放数据,以节省存储空间;3)能使数据更新以尽量简单的方式进行;4)在包含程序所需的新功能时应有足够的灵活性。

因为在VB3.0版本以后的Visual Basic具有数据库连接和数据处理功能,且与传统的数据库系统相比用VB作为数据库开发平台,有实现简单,使用灵活,扩充方便等优点,所以我们采用VB作为数据库应用程序的开发环境。

VB的数据库应用程序由用户界面、数据库引擎和数据库三大部分组成。用户界面包括用于与用户交互的所有界面和代码,如用户完成查看、更新数据作业的窗体,修改、添加、删除记录或执行查询的Vi2 sual Basic代码,在设计人机交互界面时可充分利用VB提供的数据控件和数据绑定控件,同时给出深孔钻相应部件的尺寸图形,使操作直观、易懂。数据库引擎是一组动态链接库(D LL),可处理结构化查询语言(S Q L)查询,实现对数据库的检索、添加和删改;管理查询返回的结果,在运行时,这些动态链接库被链接到Visual Basic程序来实现其功能。

数据库是存放数据的地方,在软件中所用的刀具设计参数存放在数据库中,可通过运行VB的“外接程序”菜单中的“可视化数据管理器”项来建立Access(Jet)数据库,在软件中有刀柄、导向块、中间齿、内刃、外刃、材料6个数据库。用户界面的请求通过数据库引擎来完成对数据库的操作。

3 程序开发过程及结构

程序开发是指利用AutoC AD提供的编程环境和开发工具(即AutoC AD应用程序接口API),通过程序来实现对AutoC AD开发的方法。借助于程序开发,可以为AutoC AD扩充新的命令或定义,实现对AutoC AD对象模型的访问,把AutoC AD的强大功能集成到应用程序中,以满足用户的具体需求。用VB 进行程序开发时首先在VB环境下引用AutoC AD的函数库,然后在程序中声明1个AutoC AD的应用对象,就可以按照AutoC AD对象模型树对AutoC AD进行编程操作了。

本软件的目的是实现多刃错齿内排屑深孔钻的参数化计算计算机辅助设计。为实现这一目标,构建了如图2所示的系统总体框图,根据系统的总体框图对系统功能进行分解,即可确定系统的主要功能部分。进行分解时,应充分考虑实际需要,最大限度地增强软件的可移植性、可扩充性和可维护性。

根据系统总体规划设计原则,本系统划分为以下4个部分:1)人机交互户界面部分;2)设计绘图部分;3)管理部分;4)其他。

图2 系统总体框图

在设计用户

界面时可充分发

挥VB面向对象

编程方式的优越

性,利用它提供

的图形对象(窗

体、控件、菜单)

设计出方便的人

机交互界面。本软件的交互界面包括1个主窗体和几个子窗体(设计向导、参数库管理及帮助等窗体)。为提高绘图效率,可在AutoC AD中将深孔钻绘图操作以菜单的形式显示出来,用户只需点击该菜单就可进入绘图程序。为此就须用VB编写代码在Auto2 C AD的主菜单栏中加入1个名为“深孔钻C AD”的菜单项。首先建1个VB工程,代码如下:

Public NCcad As AcadApplication

Sub M ain()

On Error Resume Next

Set NCcad=G etObject(,”autocad.application”)

NCcad.W indowS tate=acM ax

Dim currmenugroup As AcadM enuG roup

Set currmenugroup=NCcad.Application.M enuG roups.Item(0)

Dim newmenu As AcadP opupM enu

Set newmenu=currmenugroup.M enus.Add(”深孔钻CAD”)

Dim newmenuitem1As AcadP opupM enuItem

Dim openmacro1As S tring openmacro1=Chr(3)&Chr(3)&”shell”&Chr (13)&”深孔钻.exe”&Chr(13)

Set newmenuitem1=newmenu.AddM enuItem(newmenu.C ount+1,”绘制深孔钻”,openmacro1)

newmenu.InsertInM enuBar(NCcad.Application.M enuBar.C ount+1)

End Sub

其中,“深孔钻.exe”为深孔钻绘图可执行文件,实现绘图功能。将上面工程编译生成名为“菜单. exe”的可执行文件。然后在AC AD2000子目录下建一个名为acad.lsp的文件,写入下面代码:

(defen s::startup()

(command”-shell””菜单.exe”))

这样每次启动AutoC AD时,将自动运行程序a2 cad.lsp,从而启动可执行文件“菜单.exe”,实现添加菜单功能。只要在AutoC AD运行窗口上点击“深孔钻C AD”菜单项下的“绘制深孔钻”就可进入绘图程序了。

设计绘图部分是本程序的1个最关键的部分,在该部分中编写程序代码实现绘图功能。用户点击绘图命令,便出现对话框要求输入刀片数 (转下页)

?

9

?

《新技术新工艺》?机械加工与自动化 2004年 第9期

基于STEP的CAD/CAPP集成模型的研究

A Step2based M odel of CAD/CAPP Integration

河南工业大学(450052) 钱怡 北京工业大学(100022) 魏源迁

【摘要】建立1个统一有效的数据表达方法是解决C AD/C APP系统集成的关键问题。目前越来越多的C AD系统开始支持STEP标准,基于STEP标准并为C AD与C APP集成提供完备的知识表达是建立统一数据模型的有效方法。

关键词 STEP 知识表达 C AD C APP

K eyw ords STEP,knowledge expression,C AD,C APP

中图分类号:TP391 文献标识码:A

STEP(产品数据模型交换标准,Standard for the Exchange of Product m odel data)标准的目标是提供1种不依赖于具体系统的中性机制以描述产品整个生命周期的产品数据,并且在不同的C AD/C AM系统间进行交换时保持数据的一致性与完整性[1]。近10年来,随着计算机技术的飞速发展,机械设计与制造领域技术的发展趋于集成化和智能化。在C AD2CI MS领域,STEP标准已被普遍认同是信息集成的重要工具。

当今许多著名的大型C AD软件产品如Pro/En2 gineer、Unigraphic已将STEP标准作为C AD信息集成的重要工具,可以说STEP标准已被国际制造业信息化集成领域广泛接受并作为新一代产品数据交换标准。

1 STEP标准的体系

产品生命周期包括产品的设计、制造、使用、维护等。产品信息的交换指的是信息的存储、传输、获取和存档,由于产品在各个生命阶段所产生的信息多而复杂,并且不同过程有不同的需要,如C AD阶段主要是几何结构形状的信息,C APP阶段主要是加工工艺信息,C AM阶段是把C APP转换成NCP。

图1 STEP的

三层体系结构按照加工过程的各

个阶段所需信息的不同,

STEP把所有内容划分为

七大类或三层体系,七大

类与三层体系的关系如

图1所示。STEP的开发

方法就是基于该3层的

体系结构。七大类包括:描述方法,通用集成资源,应用集成资源,应用协议,一致性测试方法论和框

(接上页) 和d0值,选择刀片和工件材料后便进入了设计向导对话框,在向导对话框中用户要输入或选择所需的各参数,若用户不作任何操作,则系统会根据用户前面输入的d0和材料选用相关参数的默认值。等输入完毕,进入系统内判断用户输入的参数是否满足前面所述的设计条件的程序进行判断,若满足条件则绘图,否则给出错误信息并要求重新绘图。绘图部分的程序包括直线、圆、剖面线、尺寸等的计算与绘制。

为了使程序的结构清晰,并减少不必要的重复工作,我们把这部分程序代码编制在1个公用模块中,通过窗体事件来调用这部分程序。管理部分主要是指对参数库的管理。

4 结语

应用AutoC AD面向对象的解释型开发接口Ac2tiveX Automation,并借助VB的事件驱动编程机制、新颖可视化设计工具,可以快速、高效地编制出功能强大,易于扩展的应用软件系统。我所通过本软件的开发和应用,用计算机实现深孔刀具的设计,使设计过程参数化、模块化,简单易懂,不仅大大提高了效率,还避免和减少了设计中的错误。

[参考文献]

[1]张晋西.Visual Basic与AutoC AD二次开发[M],北京:清华大学出版社,2002.

[2]龚沛曾,陆慰民,杨志强.Visual Basic程序设计教程(6.0版)[M].北京:高等教育出版社,2000.

[3]王世清.孔加工技术[M].北京:石油工业出版社,1993.

责任编辑 黄进平

?

1

?《新技术新工艺》?机械加工与自动化 2004年 第9期

AUTO CAD二次开发

一、什么是AutoCAD二次开发:针对自己使用要求,优化,改善 软件使用功能、方式,用编程语言在CAD基础上写的程序二、应用背景:设计中一般都采用AutoCAD等设计软件,在复 杂CAD问题或特殊用途的设计设计中,依据原有软件的功能往往难以解决问题,在此情况下,只是会适用软件的基本功能是不够的,根据客户的特殊用途进行软件的客户化定制和二次开发,往往能够大大提高企业的生产效率和技术水平。

VBA即Mcrosoft office中的Visual Basic for Applications,它被集成到AutoCAD2000中。VBA为开发者提供了一种新的选择,也为用户访问AutoCAD2000中丰富的技术框架打开一条新的通道。VBA和AutoCAD2000中强大的ActiveX自动化对象模型的结合,代表了一种新型的定制AutoCAD的模式构架。通过VBA,我们可以操作AutoCAD,控制ActiveX和其它一些应用程序,使之相互之间发生互易活动。

(4)通过系统对话框设置某些路径。这些操作在程序开发成功后向其它AutoCAD系统上安装应用,特别是需要大批安装时,需要进行很多文件检索、内容增删、子目录创建、文件拷贝、系统设置等繁琐工作,如能令上述工作全部自动进行,使整个二次开发程序在无人干预的情况下嵌入系统,将大大提高工作效率 (5)面向对象,让用户能够根据自己的需要编写相关程序,进行二次开发。 五、AUTOCAD的历史: 六、AUTOCAD二次开发技术的应用领域:AUTOCAD二次开发技术广泛应用于机械、电子、建筑等领域、为标准件、常用件的参数化设计提供了强有力的支持。

AutoCAD的二次开发

浅谈AutoCAD的二次开发 林学与园林学院 06园林傅欣蕾 摘要:通过对AutoCAD软件发展史的概述,从中归纳出CAD的总体发展趋势。从当今各行业所需的CAD专业化功能,提出对其进行二次开发的意义及具体实施步骤。 关键词:AutoCAD 发展史二次开发专业化功能 1.AutoCAD的发展简史: 1.1、第一次CAD技术革命—曲面造型系统 60年代出现的三维CAD系统只是极为简单的线框式系统。这种初期的线框造型系统不能有效表达几体数据间的拓扑关系。进入70年代,随着贝赛尔算法促使人们用计算机处理由线及曲面问题变得可行。 1.2、第二次CAD技术革命—实体造型技术 1979年世界上第一个完全基于实体造型技术的大型CAD软件发布。由于实体造型技术能够精确表达零件的全部属性,在理论上有助于统一CAD、CAE、CAM的模型表达,给设计带来了惊人的方便性。 1.3、第三次CAD技术革命—参数化技术 1.4、第四次CAD技术革命—变量化技术 成功运用参数化技术之后,开发人员发现了参数化技术尚有许多不足之外。首先,“全尺寸约束”这一硬性规定就干忧和制约着设计者创造力及想象力的发挥。再者,如在设计中关键形体的拓扑关系发生改变,失去了某些约束特征也会造成系统数据混乱。 1993年全新体系结构的I-DEAS Master Series软件问世,它第一次将变量化付诸实践。变量化技术既保持了参数化技术的原有优点,同时又克服了它的不足之处。无疑,变量化技术成就了SDRC,也驱动了CAD发展的第四次技术革命。 1.5、CAD的发展方向 任何一种软件都是有缺陷而非完美无瑕的。AutoCAD这一软件也是一样,只有在不断的发展中,找到自己的不足力求弥补,才能趋向臻化,达到一种完美。 纵观CAD的发展史,我们可以大略地看出该软件是朝着“人工智能化”、“专业应用化”等方向发展的。 而实现这样的发展方向的最佳手段就是通过对CAD的二次开发。将各类专业设计技术研制成CAD系统的各类设计工具和知识,从而使使用者能按照专业设计的方向进行,可以大大提高CAD的设计效率。

学习AutoCAD二次开发技术的体会

学习AutoCAD二次开发技术的体会 一、引言 AutoDesk公司是全球著名的CAD软件研发公司,多年从事CAD软件的开发,特别是二维设计绘图方面,AutoCAD几乎是PC机上唯一的CAD软件。AutoCAD更是我们理工科大学生必备专业技能之一。本文通过作者对AutoCAD软件绘图方法的学习,在学习上不断的钻研与体会,总结出学习AutoCAD软件绘制图形的方法和技巧,并向读者介绍自己学习AutoCAD二次开发技术的体会。 二、正文 (一)、软件介绍 CAD是一个泛指,CAD英文表示为Computer Aided Design,意思是计算机辅助设计。AutoCAD是由美国Auto desk公司开发的计算机辅助设计软件包。著名的3D MAX也是它的产品之一。AutoCAD可以说是目前世界应用最广的二维绘图软件,具有广泛的通用性,它还具有简单的三维绘图功能,支持扩展编程,定义适合自己的小程序,以方便和提高效率。它的发展过程为:1982年推出第一个版本----AutoCAD1.0版,经历了R12,R14,2000,2002,2004等多个版本,它广泛用于建筑、机械、电子、航天、服装、造船等现代化工业的领域。 (二)、学习历程 最开始接触AutoCAD是由于课程所联想到的,“机械制图”这门课要求用直尺和圆规做出零件的平面三视图,而老师在课堂上常常用AutoCAD来展示作业内容,故引发学习AutoCAD 的愿望。由于开始的时候接触过“手工图板”,而“手工图板”绘图能力是计算机绘图能力的基础,故学习起来比较容易。学习《AutoCAD》,需要一定的画法几何的知识和能力,需要一定的识图能力,尤其是几何作图能力。整个学习过程也采用了循序渐进的方式,先了解计算机绘图的基本知识,如对直角坐标和相对极坐标等,使自己能由浅入深,由简到繁地掌握AutoCAD的使用技术。在学习AutoCAD命令时还要注意始终要与实际应用相结合,不能把主要精力花费在各个命令孤立地学习上;应当把学以致用的原则贯穿整个学习过程,使自己对绘图命令有深刻和形象的理解,有利于培养自己应用AutoCAD独立完成绘图的能力。到最后熟能生巧,自己做几个综合实例,详细地进行图形的绘制,使自己可以从全局的角度掌握整个绘图过程。 (三)、学习体会 1、画图的基本常识 比方说画一个圆,你首先得知道画圆的图标在哪里,或是快捷键是什么,这是绘图前需了解的。所以刚入门的人不防先看了下每一个菜单栏里都有哪些绘图的命令,然后逐个的试一试,了解一下绘图的基本命令。 2、掌握快捷命令、提高绘图速度 在熟悉了每个图标后,对一些常用或不常用的的命令应掌握其快捷键,前期可能有点慢,但你用一段时间后,绘图的速度就会显著的提高。 3、对各种参数进行设置、提高绘图的水平与质量 掌握了画图的基本方法,这还不够,因为同一幅图可能形式一样,但图层设置(后面详述)和色彩的搭配与线型的设置不同,给人的感觉与打印出来的效果是截然不同的。所以接下来该掌握的首先是图层的设置,线型、文字及标注样式的设置,怎样设置能使图形在CAD 上看起来好看,打印出来质量高,这需要反复的画,然后打印出来,不断的总结经验。 4、养成绘图的良好习惯 本来绘图这应该在学CAD之前就应当强调的,但由于初学者前期对CAD软件还不太了解,所在放在这里说明,也就是说,当你掌握基本的绘图命令后,以后的绘图过程当中就应养成

CAD二次开发手册

VBA 开发手册

第一章 VBA 入门 了解嵌入和全局 VBA 工程 AutoCAD VBA 工程是代码模块、类模块和窗体的集合,它们组合起来以执行给予的功能。工程可保存在 AutoCAD 图形中,或作为独立的文件保存。 嵌入工程是保存在 AutoCAD 图形中。当包含有这些工程的图形中 AutoCAD 打开时,他们可以自动地装载,这种方法可以很方便地分发工程给用户。嵌入工程也有它的极限,它不能打开或关闭 AutoCAD 图形,那是由于他们的函数只存在于工程所在的文档中。使用嵌入工程不需要在运行程序之前查找并装载工程文件。举个含有嵌入工程的图形的例子,当图形打开时,一个时间日志被触发。通过这样一个宏的应用可以登记并记录用户在该图形上所花费的时间。这时用户不必去记住在打开图形之前装载工程,这就是自动操作的一个很好的例子。 全局工程保存在独立的文件中,它更加通用,因为他们能在 AutoCAD 图形中运行,也能打开、关闭 AutoCAD 图形,但它在图形打开时不能自动装载。用户必须知道他们所需要的宏包含在哪个工程文件中。然而,全局工程非常容易与其它使用者共享,它可以将通用的宏做为很好的库而存在。举个例子,你保存在一个工程文件中的宏是有关多个图形的材料清单。这个宏可以在工作周期的末期由管理员运行,这样就可以收集到所有图形的信息。 在特定的时间,用户可以在同个 AutoCAD 进程中同时装载嵌入工程和全局工程。 AutoCAD VBA 工程与 Visual Basic 工程在二进制结构上是不兼容的。然而,其中的窗体、模块和类可以通过在 VBA IDE 环境中使用输入和输出 VBA 命令来在工程之间进行转换。关于 VBA IDE 的更多信息,可以查看“用 VBA IDE 编辑工程” 用 VBA 管理器组织工程 你可以使用 VBA 管理器查看装载在当前 AutoCAD 进程的所有 VBA 工程。VBA 管理器一个AutoCAD 工具,它允许你装载、卸载、保存、创建、嵌入和分离 VBA 工程。 打开VBA 管理器的步骤: 1. 在工具菜单中选择宏-VBA 管理器。 2. 或者,在 AutoCAD 中调用 VBAMAN 命令。 本节的内容: 装载现存的工程 当你装载工程到AutoCAD 中,所有的公用的子程序(也称为宏)都可以使用。 嵌入于图形中的工程在图形打开时就被装载。保存在DVB 文件中的工程必须单独装载。 装载现存的VBA 工程文件 1. 在 VBA 管理器中,使用装载项可弹出打开VBA 工程对话框。 2. 在打开 VBA 工程对话框中,选择打开的工程文件。该VBA 工程对话框允许你打开有效的DVB 文件。如果你尝试打开不同类型的文件,你将会得到出错信息。 3. 选择打开。 本章将为你介绍 AutoCAD VBA 工程及VBA 交互开发环境(VBA IDE)。尽管大部分VBA 环境在行为上都是相似的,但AutoCADVBA IDE 还是有些独有的特性。在AutoCAD 中还有些相关的命令可以用于装载工程、运行工程,或打开VBA IDE 环境。本章将概要介绍VBA 工程、VBA 命令和VBA IDE 的使用。

《AutoCAD二次开发技术》实验指导书

《AutoCAD二次开发》 实验指导书 环境与建筑工程学院测绘教研室

实验1 Visual Lisp开发环境的认识和程序运行方法 【实验目的】 1.熟悉所用计算机系统的基本操作方法。 2.学习Visual Lisp的使用方法,掌握程序编辑、编译、打包、运行及查看运行结果的方法。 3.掌握Visual Lisp程序的基本结构。 【实验内容】 1.熟悉使用的计算机系统的基本操作,创建自己的工作目录,参照附录中介绍的方法,掌握Visual Lisp的启动方法(一种或多种),了解AutoCAD系统的安装路径和结构。2.进入Visual Lisp的工作环境,熟悉Visual LISP 用户界面。 3.熟悉Visual Lisp的系统菜单组成及功能。学习使用功能键和快捷键调用菜单项的方法。 掌握文件建立、编辑、修改和保存的方法。落实文件的存储位置是否是你的工作目录,如果不是,回第二步重新设置。 4.了解控制台窗口 5.了解Visual LISP 文本编辑器 6.加载和运行AutoLISP 程序 7.退出Visual LISP 实验2 Visual Lisp应用程序 【实验目的】 1.掌握Visual Lisp语言基本数据类型的概念,理解数据类型与运算的关系。 2.熟悉简单变量的定义和赋值方法,掌握不同类型数据之间赋值的规律。 3.学习Visual Lisp语言运算符优先级和结合性的概念,掌握算术表达式的计算方法及表达式计算中的类型转换方法。 4.掌握数学表达式的程序表示方法。 5.进一步熟悉Visual Lisp程序的编辑、编译、连接和运行的过程。 【实验内容】 1.掌握用Visual LISP 开发程序步骤 2.使用控制台窗口 3.使用文本编辑器 4.使用控制台和编辑器的编码辅助工具 5.用Visual LISP 设置代码格式 6.检查语法错误 7.通过样例学习调试程序

AUTOUCAD二次开发技术

AUTOUCAD二次开发技术 学院:机械与电子信息学院 专业:机械设计制造及其自动化 姓名:廖武信、林鲁楠、孙桂东 班级序号:072113-10、11、12 指导老师:文国军

目录 1.autuoCAD技术 (3) 1.1 定义 (3) 1.2 内容 (3) 1.3 功能用途 (4) 1.4 发展历程 (4) 2. .autuoCad二次开发技术 (6) 2.1概述 2.2 发展历程 (6) 2.3研究现状(详细列出研究人员、年代及研究内容 (6) 2.4研究重点 3.应用举例 (9) 4.未来发展方向 (12) 5结论 (13) 参考文献 (14) 附: 1.分工说明 (16) 2.个人感受 (17) 参考文献20~50篇,英文30%

第1章 AutuoCAD技术 1.1定义 AutoCAD(Auto Computer Aided Design)是Autodesk(欧特克)公司首次于1982年开发的自动计算机辅助设计软件,用于二维绘图、详细绘制、设计文档和基本三维设计。 1.2 autuoCAD的内容 从20世纪80年代以来,计算机辅助设计(Computer Aided Design,以下简称 CAD)技术已广泛应用于机械、电子、汽车、造船、化工、建筑等行业,并已成为进一步解放设计思想、提高产品和工程设计质量、降低消耗以及缩短设计周期的重要手段。计算机绘图是CAD技术的重要组成部分,它能减轻设计人员繁琐的绘图工作量、提高设计效率,同时为以后的计算机辅助设计与制造(CAD/CAM)奠定技术上的基础。计算机绘图技术的实用化、大众化,使绘图方法发生了根本性的变革,它不仅提供了功能强大的绘图工具,而已引导和创建了适应计算机技术的绘图、设计的新理念和新方法。 AutoCAD具有良好的用户界面,通过交互菜单或命令行方式便可以进行各种操作。由于它具有功能强大、操作方便、结构开放、便于二次开发、价格合适、能适应各种软件和硬件平台等优点。让非计算

AutoCAD二次开发实验二

实验二 AutoCAD基本图形对象创建与编辑 1,创建直线对象 代码如下: [CommandMethod("CreatLine")] public void creatline() { Database db = HostApplicationServices.WorkingDatabase; using (Transaction trans = db.TransactionManager.StartTransaction()) { //创建直线 Point3d pt1 = new Point3d(2000, 2000, 0); Point3d pt2 = new Point3d(1000, 1000, 0); Line lineEnt = new Line(pt1, pt2); //获得块表 BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead); //获得特定块表记录 BlockTableRecord btr = (BlockTableRecord)trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite); //把图形对象的记录加入到块表中 pModifyEntID = btr.AppendEntity(lineEnt); //将直线添加到事务处理中 trans.AddNewlyCreatedDBObject(lineEnt, true); https://www.doczj.com/doc/fa18147904.html,mit(); } } 运行效果如下图所示 修改直线 代码如下:

cad二次开发教程

CAD二次开发教程汇总 选择AutoLISP还是VBA ? 我听到许多关于这样的问题。AutoLISP与VBA有什么不同呢?我要学习怎样二次开发AutoCAD,但我不能确定先学哪一个工具。哪一个工具更好呢? 简洁的回答是他们都好,你应当两者都学。分析我的回答,你可以知道这不是最快的解 决办法,但在你做出一个完整的决定前,一个完整的回答需要时间和更多的问题。举个例子:你懂BASIC吗?如果你懂,那么VBA学起来会更快一些;如不懂BASIC,那么你学过其它的编程语言吗?如果你学的正好是FORTRAN或PASCAL的话,那也很好。因为如果你 已掌握了这两种语言,则VBA的学习将十分简单。如果你一点儿也不懂程序设计语言,那 么AutoLISP将会是适合你学习的语言。 如果你正好没有程序设计的知识和经验,那么在AutoCAD里你应当学习什么语言?这 个问题很难回答。这取决于你希望完成什么样的工作?每种语言都有其优点和缺点,AutoLISP擅长建立新命令和产生已有命令的连接。VBA擅长执行包括在其他应用程序中的 组件,如Microsoft的Excel和Access。AutoLISP是基于表处理的编程体系,它允许程序员随意地存储和操作传送信息,然而VBA部件包括数据和对复杂情况的各种有效操作,这就 是问题变得复杂的地方,除非你已真正懂得这些工具的好处,否则,很难回答你应该选择哪 一个,但你应当知道你想完成什么和允许完成什么,因为它将引导你向正确的解决方法前进。 稍后,你会发现这一简洁的回答是恰当的,你将会学习两种语言,你要做的一些事,可 以在AutoLISP中用十分简单的几行代码来解决。另一方面,你会发现VBA提供了一些最 简捷的应用程序解决方案。例如,建立一个复杂的包括许多对话框的应用,AutoLISP支持 对话框,但是不如VBA支持的程度强,同时,在AutoCAD中一个任务的情况下,VBA提供在对象级别上访问AutoCAD系统,但它对AutoCAD的一些基本命令的支持性并不是很好,而AutoLISP在这一点上却做的很好。 这两种语言不具有很好的兼容性,这种情况是必然的,就是说,你不能把在AutoLISP 中写的东西放到VBA中随意使用,反之亦然。我并不是说这种情况不可能的,但却是很难以实现。最低限度是,一但你选择了一种语言来设计程序,你就不可能中途又用另一种语言 来解决程序中的问题,你不得不继续使用你最初选择的语言。 那么,让我们从学术角度讨论一些两种语言间的不同之处。前面提到的AutoLISP是综 合了逻辑结构与传统AutoLISP命令的一个完美工具,你能组合AutoCAD命令并放在一个 有条件的逻辑脚本里,而产生强有力的自定义命令,这些命令能被用于自动操作通常的任务, 也能解决计算问题而得到一个结果。基于命令种类的思想比目标角度的思想更简单,一个清楚直接指出不同点的例子:在一个多义线对象里打断编辑方法。如果你要打断一条多义线,你必须先计算并重新更新这个物体,Extend和Trim命令也一样。这些命令现在还并不包含 在AutoCAD对象系统的实体对象编辑方法中。在不久它们会随时出现,这就是对象的好处。 在许多情况下,对象级的处理比命令方式更高级。当你执行一个命令时,你有可能可以 也有可能不可以直接操作你所选取的对象。因为你必须依赖于AutoCAD的对象选择机制。 对象不是模糊不清的。当你专门指定一个对象时,对你要操作的对象,它是很清楚的。 对象级别的处理在VisualLISP也可实现。使用VisualLISP中的(VL )扩展,你能改变对象的参数且在需要时调用对象的方法。你不得不使用对象引用,它可以从已有的实体名或 直接产生的对象中生成,在大多数情况下,一个有经验的AutoLISP程序员不需要使用这些 对象,但迟早它们会派上用场。/ E! m(门!『C4 R VisualLISP的另一优点是比VBA更接近AutoCAD系统。VBA不是由AutoCAD 产生的,

AutoCAD二次开发技术

学习AutoCAD二次开发技术的体会 1 引言 AutoCAD是一套向量式计算机辅助制图软件,具有强大的图形处理功能,目前它已经广泛应用于机械、电子、电气、建筑、土木服装等行业和领域。 最初版本的AutoCAD是在1982年发布的。AutoCAD开放的结构体系,为用户提供了多种二次开发的工具,使得它的缺陷之处可以得到弥补,因此三十多年来它持续拥有旺盛的生命力。AutoCAD的二次开发,能够实现参数化绘图,允许用户开发自己的命令、标准库文件和各种应用程序,能充分发挥AutoCAD的功能。本文将介绍我学习Visual LISP这一种工具进行开发的过程和体会,说明我在学习过程中体会到的二次开发的特点和一些优点,并举一些具体例子。 2实施过程 2.1LISP语言的主要学习内容总结 2.1.1变量及其赋值: (1)LISP语言中变量的使用比较灵活,变量不用先定义和指定类型,需要的时候直接引入,而且其内容较为随意,可以是整数、实型数、字符串、点、表等等。(2)变量的赋值主要用setq语句,格式为(setq 变量名要赋的内容)。 2.1.2基本的运算函数和数学函数: (1)加、减、乘、除、取余运算函数名分别为“+”、“-”、“*”、“/”、“rem”函数使用格式为(符号数1 数2 [数3…])。 (2)基本初等函数: 指数函数(expt 底数自变量值)。 自然指数函数、自然对数函数、正弦、余弦、反正切、根式、绝对值函数分别是exp、log、sin、cos、atan、sqrt、abs,调用格式为:(函数名自变量值)。 2.1.3表处理函数: (1)表构造函数:(list n1 n2 n3 n4 […]),返回一个表。配合赋值语句可把表赋值给变量,如(setq biao (list 1 2 3 4)),就把(1 2 3 4)赋给变量biao。 (2)表长度运算:(length 表),返回表元素的个数。 (3)表中元素的提取: (car 表)返回表中第一个元素。例如(car (1 2 3 4 ))返回1。

CAD二次开发(附源程序)

1. The Object of Design: Programming for drawing a screw, screw bolt or other graphics by using VLISP, VBA, etc. illustrated in the figure 1-1. Figure 1-1 Parametric Dimension for a Screw The design is based on VBA as a tool for screw parameter design. Reference" mechanical drawing" textbooks, slotted cheese head screws of the partial table as shown below. 本次设计是以VBA 为工具进行螺钉的参数化设计。参考《机械制图》课本,开槽圆柱头螺钉的部分表格如下所示。 Tabl e 1 Sl otted cheese head screws (from GB/T 65- 2000) mm Method: Take p0 for positioning point, according to the table, select the screw diameter D and nominal length of L data, determine the screws of the ,k ,n , t parameters. The screw points identified, wired generation screw CAD diagram. illustrated in the figure 1-2. 思路:取p0点为定位点,根据上表,选择螺钉规格和公称长度l ,确定螺钉的 ,

CAD二次开发技术 命令符集合

;;;算术运算函数 (max 20.0 30.0 0.0) (sqrt 16) (expt 3 3) ;;;三角函数 (sin (/ pi 6)) ;;;取整函数 (fix (/ pi 2)) ;;;赋值函数 (setq aa (/ pi 2)) ;;;quote应用 (setq aa(quote (- 2 1) )) (setq aa ' (- 2 1) ) ;;;自定义函数defun (defun dtr () (setq a 40) (setq b 40) ) (defun sqrab (a b ) (setq c (+ (* a a)(* b b))) (sqrt c) ) ;;;定义一个把度转换成弧度的函数(defun dtr (a) (* a (/ pi 180.0)) ) ;;;求45度的正弦值 (defun qsin () (sin (dtr 45)) ) ;;;提取点(20.0 30.0 0.0)的X、Y、Z坐标(setq aa (list 20.0 30.0 0.0))

(car aa) (cdr aa) (cadr aa) (caddr aa) ;;;提取表中第n个元素: (setq bb '("大" "家" "好")) (nth 0 bb) (nth 1 bb) (nth 2 bb) ;;;用append构造表 (setq aa (list 20.0 30.0 0.0)) (setq bb (list aa "AA")) (setq ee (append aa bb)) ;;;用cons构造坐标 (setq aa (list 20.0 30.0 0.0)) (setq bb (list 500.0 600.0 0.0)) (command "line" aa bb "") (setq cc (cons 300.0 (cdr bb))) (command "line" aa cc "") ;;;用cons构造点对 (setq aa (cons 'a "aaa")) ;;;reverse 应用 (setq aa (list 30.0 20.0 10.0)) (setq bb (REVERSE aa)) ;;;assoc 应用 (setq aa (list '(a . rest) '(pt 30.0 20.0 10.0) '("O" 90))) (setq bb (assoc "O" aa)) (setq cc (assoc 'pt aa)) ;;;subst 应用 (setq aa (list '(a . rest) '(pt 30.0 20.0 10.0) '("O" 90))) (setq bb (assoc "O" aa)) (setq cc (subst '(pt 80.0 60.0 40.0) '(pt 30.0 20.0 10.0) aa)) ;;;foreach应用

二次开发CAD快捷命令

命令参考---------------------------yx_mlck * 选项-------------------------------yx_zdy * 新建全部---------------------------yx_newall 新建图层---------------------------yx_lay_newall 新建文字样式-----------------------yx_newstyle 新建标注样式-----------------------yx_newdimsty 设置当前线型为公制-----------------yx_stm CAD中毒修复------------------------yx_bdxf 打开燕秀工具箱目录-----------------yx_yxml * 隐藏对象---------------------------yx_hide 取消全部隐藏-----------------------yx_show 隐藏同名块-------------------------yx_sb 取消块隐藏-------------------------yx_ub 隐藏对象到A组----------------------yx_hidea 取消A组隐藏------------------------yx_showa 隐藏对象到B组----------------------yx_hideb 取消B组隐藏------------------------yx_showb * 浏览图层---------------------------yx_bl 关闭选取图层-----------------------yx_lay_offsel 关闭选取外图层---------------------yx_lay_offselo 反向关闭图层-----------------------yx_lay_offp 打开全部图层-----------------------yx_lay_allon 锁定选取图层-----------------------yx_lay_locksel 锁定选取外图层---------------------yx_lay_locksell 反向锁定图层-----------------------yx_lay_lockp 解锁选取图层-----------------------yx_lay_unlocksel 解锁全部图层-----------------------yx_lay_allunlock 冻结选取图层-----------------------yx_lay_Freezesel 冻结选取外图层---------------------yx_lay_Freezeself 反向冻结图层-----------------------yx_lay_Freezep 解冻全部图层-----------------------yx_lay_allthaw 解冻,解锁,打开全部图层-------------yx_lay_alltuo 将所有标注改变为dim层--------------yx_lay_dimall 将所有标注改变为dim_temp层---------yx_lay_dimtmpall * 将对象的图层置为当前---------------yx_ai_molc 设置当前图层为center层-------------yx_lay_set_center 设置当前图层为cool层---------------yx_lay_set_cool 设置当前图层为core层---------------yx_lay_set_core 设置当前图层为dim层----------------yx_lay_set_dim

cad二次开发程序设计

万方数据

万方数据

122测绘与空间地理信息2010年 更好的性能,但该变量只能存放声明中所指定的类的引用,而后期绑定的变量引用可以提供更好的通用性。2.3VB代码到VBA代码的转换 在VBA的/DE环境中,使用“导入文件”将要转换的VB工程的模块、类模块以及窗体文件一一导入。接着将VB代码中所有的当前的文档(acadDoc)变量替换为This-Drawing,而AutoCAD应用程序(acadApp)变量替换为Ap-plication。同时删除定义的AutoCAD应用程序(acadApp)和当前的文档(acadDoc)变量,删除与AutoCAD应用程序连接的代码。注意:要转换VB代码的窗体部分,则窗体必须是用UwrForm创建的。 3横断面测量 横断面测量是测量垂直于线路中线方向的地面起伏情况,并按一定比例绘制成横断面图,横断面图的生成在公路及河道的工程中具有重要的意义,与工程进度和成本的关系非常紧密。它具有很强的现实意义。 3.1横断面测量作用 根据各种工程的性质和不同要求,其横断面图的用途也不尽相同。对于河道工程,除了用于河宽设计、土石方量计算外,还常用于计算洪水流量等。 3.2精度要求 1)实测横断面明显地物点的横距误差不应大于断面上±1mm;断面宽度大于100m时,横距相对误差不应大于1/300;从地形图上择录的横断数据横距误差不应大于所用地形图上±0.5mm; 2)实测横断面测点高程误差,明显地物点不应大于±100mm,地形点不应大于±300mm,山地不应大于一个基本等高距; 3)同一横断面需转点施测时应闭合至相邻横断面的中桩点,闭合差不应大于±100而nlnl(n为测站数),山地可放宽两倍。 3.3经验总结 快速定向是纵横断面测量中普遍存在的问题,在复杂地形,目测定向困难,且在地形图上地物较少的情况下,利用全站仪结合电子平板的模式可大大提高定向的速度,节省人力,提高精度。 断面上测点如在小的凸凹处应取平均地面高施测并顾及相邻断面的关系,测点密度以能反映中线横断面地形变化为准,遇地物点应绘相应符号或注明。 地形变化处及曲线主点、整桩、坡坎上下等均应施测横断面;对于旧路展宽或加铺面层时,横断面可选择有代表性的标准断面施测。 实地测绘过程中,一般应先测左侧,后测右侧,以防止记录员记反。 4程序设计 4.1文件格式 1)以Excel表格为基础的记录文件。文件名为横断面桩号,数据格式为:第一列、断面点数与序号、第二列、起点距离、第三列、高程、第四列、属性。(测量顺序为顺水流方向,从左岸到右岸)。Excel文件格式如图l所示。 图1Excel文件格式数据录入图 Fig.1Excelfileformatoftheinputdata 2)横断面图DWG文件。文件名为横断面桩号,图形要素:包括图层、线形、字体、比例、各要素颜色等,以水利设计院要求格式为准。DWG文件格式如图2所示。 图2DWG文件格式横断面图 Fig.2 DWGformatofcrosssection 3)为了能让程序读取横断记录数据,需要将Excel格式文件转换为,I')(T文件使其满足程序要求,TXT文件格式为:序号,起点距离,高程,属性7ⅨT文件格式如图3所示。 图3TxT文件格式数据录入图 Fig.3TXT formatoftheinput data 万方数据

相关主题
文本预览
相关文档 最新文档