- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LISP开发
LISP是List Processor(表处理程序)的缩写。AutoLISP是人工智能语言CommonLISP的简化版本,作为通用LISP语言的一个小子集,AutoLISP严格遵循其语法和惯例,但又添加了许多针对AutoCAD的功能。Autodesk公司在AutoCAD 2.1版引入AutoCAD作为应用程序编程接口(API),用于扩展和自定义AutoCAD功能。借助AutoLISP,用户可以用适合编写图形应用程序的强大的高级语言来编写宏程序和函数,并开发各种软件包。AutoLISP易于使用,并且非常灵活,多年来一直是自定义AutoCAD的标准。?? ? 从AutoCAD R14开始,Visual LISP被引入到AutoCAD中,它增强并扩展了AutoLISP语言,可以通过 Microsoft ActiveX Automation接口与对象交互,并扩展了AutoLISP响应事件的能力。作为开发工具,Visual LISP提供了一个完整的集成开发环境(IDE),包括编译器、调试器和其他工具,可以提高自定义AutoCAD的效率。另外,Visual LISP提供了发布用AutoLISP编写的独立应用程序的工具。Visual LISP没有任何特殊的硬件需求,能运行AutoCAD系统即可运行Visual LISP。 Visual LISP作为一个完整的集成开发环境(IDE),具有自己的窗口和菜单,但它并不能独立于AutoCAD运行。当用户从Visual LISP IDE中运行AutoLISP程序时,经常需要与AutoCAD图形交互或在命令窗口响应程序提示。???? Autolisp表达式 AutoLISP 程序由一系列表达式组成,AutoLISP 表达式的格式如下所示: (函数 参数) 例如,如下代码样例调用了三个函数: (fun1 (fun2 参数)(fun3 参数)) AutoLISP 函数语法 AutoLISP 函数语法的描述遵循如下惯例: Autolisp数据类型 整数/实数/字符串 表:Autolisp的表是在括号中以空格分割的一组相关值。AutoCAD将二维点表示为两个实数组成的表。 例(1.0 1.0 2.0) (“this” “that” “those”) (1 “here”) 选择集:选择集是包含一个或多个对象(图元)的组。用户可以通过 AutoLISP 例程交互地将对象添加到选择集中,或从选择集中删除对象。 Autolisp程序文件 虽然可以在 Visual LISP 控制台窗口中输入 AutoLISP 代码,但如果将 AutoLISP 代码存储在文件中,在测试和调试一系列指令时,从文件中加载 AutoLISP 代码要比每次修改后都重新输入要简单得多。AutoLISP 代码保存为为 .lsp 。要想在 Visual LISP 中创建新的源文件,点击 Visual LISP 的“文件”菜单中选择“新建文件”。 要想在 Visual LISP 中编辑现有的 AutoLISP 源代码,点击 Visual LISP 的“文件”菜单中选择“打开文件”,然后用“打开文件”对话框选择文件。 AutoLisp变量 特殊变量: NIL变量:没有指定值的变量为NIL,此时变量并不占存储空间。 预定义变量: PI 3.14159 T 用作非 Nil 值 定义函数 用Defun定义函数 defun 函数可将一组表达式组合到一个函数或命令中。 (defun symbol_name ( args / local_variables ) expressions ) (defun DONE ( ) (princ \nbye! ) ) DONE (prompt The value is 127.) (DONE) The value is 127 bye! C:XXX 函数 为 AutoCAD 添加新命令或重定义现有的命令 定义的函数可以象内置的 AutoCAD 命令一样在 AutoCAD 命令行提示中使用 (defun C:HELLO () (princ Hello world. \n) (princ)) 常用函数 1Setq函数:用于为一个变量赋值 (Setq x 12) (Setq x 8.5 Y 12) 2.getpoint:等待用户为一个点输坐标值x,y或x,y,z (setq pt1(getpoint)) (setq pt1(getpoint enter starting point)) 3.getdist:等待用户输入距离,然后以实数形式返回该距离值 (setq
文档评论(0)