计算机辅助设计(CAD):5 AutoCAD定制和开发_第1页
计算机辅助设计(CAD):5 AutoCAD定制和开发_第2页
计算机辅助设计(CAD):5 AutoCAD定制和开发_第3页
计算机辅助设计(CAD):5 AutoCAD定制和开发_第4页
计算机辅助设计(CAD):5 AutoCAD定制和开发_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、AutoCAD 定制和开发定制AutoCAD1 命令别名2 定制工具栏3 脚本文件4 幻灯片制作1 命令别名命令的别名保存在ACAD.PGP,对命令提供一个无冲突的简化名称,便于快速输入。工具 | 自定义 | 编辑程序参数启动操作系统命令:SHELL启动其它应用程序:START命令的简化名称MMOVE EERASEOOFFSET SSTRETCHIINSERT BBLOCK TMTEXT LLINECCIRCLE AARCFFILLET HHATCH可以自己定义修改命令别名。2 定制工具栏视图 | 工具栏:TOOLBAR增加关闭整个工具栏;在任一工具栏上单击鼠标右键,在弹出菜单中对需要显示或关

2、闭的工具栏进行选择。增加删除工具栏上的按纽;在启动工具栏对话框情况下,拖动图标按纽。增加新的工具栏;点击到自定义界面的工具栏位置,快捷菜单中选择“新建工具栏”。可以给该工具栏命名。弹出按纽;选择一个按钮,通过“复制/粘贴”的方法,在定制工具栏中建立命令标签,然后展开对话框,修改该命令,调整为需要的。图标按钮属性图标;宏:通过按钮执行的一个或多个命令,如:cc_break _f ;名称帮助信息例:多线的绘制、格式、编辑工具栏,从命令列表中拖放到工具栏。3 脚本文件以文件*.scr保存,将命令流保存在文件里,可以依次自动执行。必须按照命令格式准确书写,空格相当于回车。以太极图绘制为例。circle

3、0,0100circle0,5010circle0,-5010arc0,100e0,0a180arc0,0e0,-100a-180命令:Script,菜单:工具 | 运行脚本一般关闭对象捕捉,防止捕捉到错误点脚本可在其他命令执行过程中透明运行,加号。如:命令:line指定第一点:script然后选择脚本文件。大量的输入可以用此方法。4 幻灯片制作便于演示绘图过程文件为*.SLD,对三维图形不能创建创建幻灯片:MSLIDE放映幻灯片:VSLIDE刷新显示:REDRAW创建幻灯片库采用AutoCAD安装目录中SLIDELIB实用程序用法:将SLIDELIB复制到幻灯片文件目录DIR *.SLD /

4、B FILELIST,生成列表SLIDELIB LIBNAME FILELIST自动放映幻灯片可以用脚本文件将幻灯片放映连贯起来VSLIDE *.SLD ;放映幻灯片DELAY 1000 ;延迟时间.RSCRIPT ; 循环放映注意:需要幻灯片文件目录加入搜索路径。若是幻灯片库,则用libname(filename)其中filename不带后缀。如:vslide taiji(taiji0)delay 1000rscriptAutoCAD 二次开发1 AutoCAD 二次开发概述2 Visual LISP集成开发环境3 AutoLISP语言4 例子5 建立用户系统1 AutoCAD 二次开发概述

5、2 Visual LISP集成开发环境3 AutoLISP语言4 例子5 建立用户系统1 AutoCAD 二次开发概述AutoCAD是目前应用最广泛的CAD软件。但是AutoCAD所提供的只是一般的通用的CAD功能 。可以将计算和绘图通过高级语言编制成相应的程序,大大提高设计效率。如建筑行业天正CAD系统、机械行业的大恒CAD系统等。开发的常用工具 AutoCAD开发工具有时称作AutoCAD API (Application programming Interface 应用编程接口),是将AutoCAD环境客户化的基本手段。使用的开发工具主要有:ObjectARX、AutoLISP、Visu

6、alLISP、Java、VisualBASIC和Delphi等。 AutoLISP和VisualLISP AutoLISP是AutoCAD最早的解释型API,它不是面向对象的语言。它在逻辑上是一个独立的进程,通过IPC(进程间通讯)与AutoCAD交互。 VisualLISP与AutoLISP完全兼容,并提供AutoLISP所有功能,同时它能访问多文档设计环境、COM/ActiveX用户界面和事件响应器等。 VisualBASIC、Delphi 、Java AutoCAD从R14起,采用ActiveX Automation的形式丰富了自身的API,它为AutoCAD的进一步发展开辟了新的途径。

7、 微软的ActiveX Automation技术是一组规范。用户可以使用ActiveX客户编程语言(如VisualBASIC、Delphi 、Java等)来定制AutoCAD。 ADS、ARX、ADSRX和ObjectARX ADS(AutoCAD Development System)是Autodesk公司最早在AutoCAD R11中提供的C语言编程环境。 ARX(AutoCAD Runtime Extention)是在ADS基础上发展起来的一种面向对象的C语言编程环境。由ADS向ARX的变迁就如同C向C+的转变。 在AutoCAD R14中,ARX被第二代面向对象C+编程环境Object

8、ARX所代替,原来的ADS全部库函数被包含在ObjectARX中。归并为单一的库,形成了ADSRX。ObjectARX是包含了ADS、ARX和ADSRX的综合的C/C+开发环境。它引入了面向对象的编程机制,是高效开发工具。 几种开发工具的比较 在运行速度上,ObjectARX的速度最快,AutoLISP速度最慢。在程序稳定性上,采用AutoLISP开发的应用程序最稳定。而ObjectARX应用程序一旦失败,AutoCAD进程也随之崩溃。在技术难度上,AutoLISP和VisualBASIC均为解释型语言,方便易学。ObjectARX依赖于C+语言,使用难度大一些。加载程序工具 | 加载应用程序

9、LISP程序:*.lsp,*.fas,*.vlxVBA程序:*.dvbObjectDBX程序:*.dbxObjectARX程序:*.arx,*.crx2 Visual LISP集成开发环境Visual LISP特点 VisualLISP已经被完整地集成到AutoCAD 2000及以后的版本中,为开发者提供了崭新的集成开发环境。 使用了流行的有色代码编辑器和完善的调试工具,容易创建和分析LISP程序。新增了一些函数:如ActiveX/COM自动化操作接口;基于AutoCAD内部事件的对象反应器。Visual LISP的使用 启动Visual LISP:工具 | AutoLISP | Visual

10、 LISP编辑器使用Visual LISP文本编辑器录入程序 加载并运行程序 调入已存在的AutoLISP程序文件 Visual LISP控制台 可以输入代码并立即看到运行结果和AutoCAD的命令行窗口类似,也有不同,查看变量值时,只须输入该变量名,而命令行窗口则需在变量名前加!号按TAB键检索已输入的文本Visual LISP编辑器 编辑程序文本,彩色代码显示通过匹配完成字段输入,在已输入文本中查找,按ALT+/在所有符号表和已输入文本中查找,按CTRL+SHIFT+/调试程序 检查程序语法设置断点和分步执行调试 跟踪变量 构造应用程序 新建工程编译单个文件为FAS文件 加载和运行已编译的

11、程序 通过acaddoc.lsp自动加载应用程序3 AutoLISP语言 3.1 AutoLISP的数据类型 整数实数字符串 表:使用时必须用禁止求值函数,即为:(0 2) 3.2 函数语法(fun parameter1 parameter2 )左括号,函数名,参数1,参数2,右括号3.3 函数分类数值函数 符号处理函数 表处理函数 函数处理函数 输入输出函数 几何计算函数Command 函数 3.3.1 数值函数 ( + 数1数2。) 返回所有数的和 ( 数1 数2 。 ) 返回第一个数减所有数的差 (1+ 数 ) (1- 数 )返回数加1(数减1)(* 数1 数2 ) 返回所有数的积 (

12、/ 数1 数2 ) 返回数1除以数2 ( exp 数) e数(expt base power) base power (log 数) (log 3)=1.09861 自然对数(sqrt 数) 求平方根(abs 数) 求绝对值 (sin angle) angle以弧度计 (cos angle) 求角度的余弦3.3.2符号处理函数 (quote表达式):禁止求值函数,用于存储数据,不希望被求值。返回值为表达式本身 ,(setq LI (quote (12 34 56 78 )可用 简写:(setq LI (12 34 56 78 ) 3.3.3表处理函数 (car表) :取表的顶层的第一个元素,或

13、点对的左元素,例:(car (a b c )- 返回a(cdr表) :取表的顶层的第一个元素外剩下的元素组成的表,例:(cdr (a b c)- 返回b c (last表) :取表的顶层的最后一个元素,例:(last (a b c)- 返回c (list (a b c)(e d)- 把相关数据组成表,返回(a b c)( e d) (nth n list)-取出表中的第n个元素,从0开始(cons a list)-把一个元素结合到一个表中3.3.4函数处理函数 (defun (函数名)(形参数/局部变量)(表达式)(形参数)调用时用实参(表达式)调用时,将实参代入进行计算 3.3.5输入输出函

14、数 getint 从提示行输入一个整型值 getreal 从提示行输入一个实型值 getstring 从提示行输入一个字符串 getpoint 从提示行输入一个点坐标,或在屏幕上拾取一点 getdist 从提示行输入一个整型或实型值,或在屏幕上拾取两点,取两点之间的距离 (princ string)-显示字符串,不加引号 (prin1 string)-显示字符串,加引号(print string)-显示字符串,加引号,前面加一空行,后加一空格3.3.6几何计算函数(polar (点)(方向角)(距离)) :返回一个点(distance (点1)(点2)) :返回距离(angle (点1)(点2

15、)) :返回角度 (inters (端点1)( 端点2)(端点3)(端点4)) :求线段交点3.3.7 Command 函数 利用Command函数,可以非常方便地调用全部的系统命令,向命令行发送消息(Command “line” p1 p2“”) 绘直线 (Command “circle” “3p” p1 p2 p3) 三点绘圆 (setvar name value) 设置系统变量4 例子(1)太极图(2)画曲线(3)画箭头(1)太极图(defun c:taiji ( ) (setq p0 (getpoint 中心点:) (setq bigr (getdist p0 大圆半径:) (comm

16、and circle p0 bigr) (setq halfr (/ bigr 2) (setq halfpi (/ pi 2) (setq upcenter (polar p0 halfpi (/ bigr 2) (setq downcenter (polar p0 (* halfpi -1) (/ bigr 2) (command arc c upcenter p0 a -180) (command arc c downcenter p0 a -180) (setq smallr (getdist upcenter 小圆半径:) (command circle upcenter small

17、r) (command circle downcenter smallr) (princ)(2)画曲线(defun c:mysin() (setq i 0) (command line) (while (= i 100) (setq x1 (+ (* 2 i) 20) (setq y1 (sin (* pi 0.02 i) (setq y1 (+ (* y1 50) 100) (command (list x1 y1) (setq i (+ 1 i)(command )(command line 20,100 220,100 ) (command text (list 15 90) 8.0 0

18、 (0,0) ) (command text (list 220 90) 8.0 0 (360,0) ) (command text (list 65 152) 8.0 0 (90,1) ) (command text (list 165 40) 8.0 0 (270,-1) )(3)箭头(defun arrow_base (pt1 pt2 len / ang) (setq ang (angle pt2 pt1) (setq pt3 (polar pt2 (- ang 0.3) len) (setq pt4 (polar pt2 (+ ang 0.3) len) (command line pt1 pt2 pt3 ) (command line pt2 pt4 ) (princ)(defun c:arrow () (setq len (getreal arrow length:) (while (setq pt1 (getpoint start point:n)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论