AutoLisp/VisualLisp学习笔记#2

一、AutoLisp/VisualLisp 函数

1.定义函数

        通过defun函数来定义函数,需要包括函数名、变元(即函数参数/形参)、局部变量(函数内所用到的变量,随函数结束自动释放),例如

;;(defun 函数名 (变元 / 局部变量) 代码段...)
(defun add (c a b / )
(setq c(+ a b));;实现c=a+b
)

2.定义命令

        通过defun函数来定义命令,与定义函数不同的是,函数名前需加 c: ,且没有变元,例如

;;定义绘制(0,0)至(10,10)直线命令
(defun c: drawline ( / p1 p2) 
(setq p1 (list(0 0)))
(setq p2 (list(10 10)))
(command "line" p1 p2 "c")
)

二、编程实例

1.编写 LISP 命令 CreateCircle,用 AutoLISP 函数实现:创建建圆心为(0,0),半径为 10,颜色随层的圆

(defun c:CreateCircle(/ pt r)
 (setq pt (list 0 0 0))
 (setq r 10)
 (entmake (list (cons 0 "CIRCLE") (cons 10 pt) (cons 40 r)))
 (princ)
)

        这里并没有调用“circle”命令,而是使用entmake函数来直接生成图元组码。原因一是这种方法不会被环境因素例如鼠标或者捕捉等原因影响,二是在绘制大量图元时,其速度和效率超远command命令,对于entmake函数,其结构为:

(entmake [elist]);; elist中需要包含创建图元的必要元素,如实例中圆心位置、半径长度

        此外命令末尾有如下一行表达式,用于表示命令结束后静默推出,并不打印任何内容

(princ)

2. 编写 LISP 函数(ChangeCircleColor),用 AutoLISP 函数实现:选择圆,改变圆的颜色为红色

(defun c:ChangeCircleColor(/ elst etype oldcolor newcolor)
(setq elst (entget(car(entsel))))
(setq etype(cdr(assoc 0 elst)))
(if(= etype "CIRCLE");;判断是否为圆,是则改色,否则退出
(progn
(setq newcolor (cons 62 1))
(if(setq oldecolor (assoc 62 elst))
(setq elst (subst newcolor oldecolor elst))
(setq elst (append elst (list newcolor)))
)
)
)
(entmod elst)
(princ)
)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
注意不是书籍,是随书源代码 《autocad完全应用指南.autolisp+dcl+visual lisp程序设计篇》重点讲解autolisp、dcl、visual lisp三合一的autocad二次程序开发技术。《autocad完全应用指南.autolisp+dcl+visual lisp程序设计篇》分为4篇,共35章。第1篇(第1~10章)为autollsp程序设计基础篇,主要介绍了autollsp的基本结构、语法、功能函数、对象属性、循环、判断式、子程序、选择集、符号表、读文件以及写文件等autolisp程序设计的相关知识与技巧。第2篇(第11章)为62个精选实用autolisp程序设计范例,通过精讲62个autolisp程序设计范例,让读者将autolisp知识融会贯通。第3篇(第12~21章)为autolisp与dcl对话框整合应用,主要介绍了dcl的基础知识、dcl对象属性的定义速查、autolisp掌控dcl的关键技巧;还介绍了编辑框、按钮和文字、切换开关、单选按钮、列表框、下拉菜单、图像,图像按钮及滑动条的设计技巧;另外介绍了新手常犯错误分析及应对技巧。第4篇(第22~35章)为visuallisp程序设计应用与整合,主要介绍visual lisp的基本环境、重要函数和程序调试;还介绍了autocad activex对象控制以及visual lisp在e2d、3d、文字编辑、图层管理、块与属性管理、options选项控制、excel及word中的应用;最后介绍了visual lisp应用程序的创建与维护。   《autocad完全应用指南.autolisp+dcl+visual lisp程序设计篇》语言风趣生动,内容全面,是一本不可多得的完全学习指南。它可以帮助读者扎扎实实学好autolisp+dcl+visual lisp程序设计,迅速提升读者的设计效率及绘图品质。《autocad完全应用指南.autolisp+dcl+visual lisp程序设计篇》非常适合autocad的初、中、高级读者使用。
### 回答1: 《AutoCAD完全应用指南-AutoLISP、DCL、Visual LISP程序设计篇》是一本介绍AutoCAD软件中自动化编程的书籍。本书内容包括AutoLISP、DCL和Visual LISP程序设计的指导与应用。 首先,AutoLISP是一种针对AutoCAD软件开发的脚本编程语言。通过AutoLISP,用户可以编写自定义的命令和程序,以实现一些复杂的自动化任务。本书详细介绍了AutoLISP的语法、常用函数和操作方法,并通过一系列实例讲解了如何使用AutoLISP编写工具和自动化脚本。 其次,DCL(Dialog Control Language)是一种用于创建AutoCAD软件中对话框和用户界面的编程语言。本书介绍了DCL的语法和操作方法,以及如何使用DCL编写自定义的对话框和用户界面,实现图形界面化的交互式操作。 此外,本书还涵盖了Visual LISP程序设计,它是一种在AutoCAD中开发应用程序的集成开发环境(IDE)。通过Visual LISP,用户可以编写更加复杂和功能强大的应用程序,扩展AutoCAD的功能。本书详细介绍了Visual LISP开发环境、调试工具和常用函数,以及如何使用Visual LISP开发自定义程序和工具。 总结来说,本书提供了对AutoCAD自动化编程的全面指南,涵盖了AutoLISP、DCL和Visual LISP的相关知识和技巧。读者通过学习这些内容,可以了解如何利用脚本语言和自定义程序,提高AutoCAD的使用效率,并实现一些特定的需求和功能。无论是AutoCAD的初学者还是有一定经验的用户,都可以从本书中获得有用的知识和实用的编程经验。 ### 回答2: 《AutoCAD完全应用指南 AutoLISP DCL Visual LISP程序设计篇》是一本关于AutoLISP、DCL和Visual LISP的程序设计指南。AutoCAD是一款流行的计算机辅助设计软件,而AutoLISPAutoCAD的一种编程语言,可以用于自定义功能和增加特定功能。DCL(Dialog Control Language)是一种用于创建自定义对话框和界面的脚本语言Visual LISPAutoCAD的一种开发环境,可以用于编写更复杂和高级的LISP程序。 这本指南系统地介绍了AutoLISP、DCL和Visual LISP的基础知识和应用。它从最基础的语法规则和数据类型开始讲解,然后逐步引入更复杂的概念和技术。读者将学习如何使用AutoLISP编写脚本,从而实现自动化和高效的设计任务。同时,还会了解如何使用DCL创建自定义对话框,以便用户可以更方便地与脚本进行交互。 此外,指南还介绍了使用Visual LISP进行程序开发的高级技术。Visual LISP提供了更多的功能和库,可以帮助开发人员实现更复杂和强大的程序。读者将学习如何使用Visual LISP进行调试、优化和扩展现有的AutoLISP脚本。 总之,《AutoCAD完全应用指南 AutoLISP DCL Visual LISP程序设计篇》对于AutoCAD用户来说是一本非常有价值的指南。它可以帮助读者掌握AutoLISP、DCL和Visual LISP的编程技巧,从而更高效地使用AutoCAD进行设计和开发。无论是初学者还是经验丰富的用户,都可以从中获得实用的知识和技能。 ### 回答3: 《AutoCAD完全应用指南:AutoLISP、DCL和Visual LISP程序设计篇》是一本专门介绍AutoCAD软件的编程技术的书籍。 AutoCAD是一款专业的绘图软件,用于制作和编辑各种类型的图纸。而AutoLISP是一种用于自动化和扩展AutoCAD功能的编程语言,可以编写自定义的命令和程序来完成特定的绘图任务。DCL(Dialog Control Language)是一种用于创建图形用户界面的编程语言,可以为自定义命令和程序设计出交互式的对话框。Visual LISP是一个集成在AutoCAD中的开发环境,可以通过可视化界面来编写AutoLISP程序。 《AutoCAD完全应用指南:AutoLISP、DCL和Visual LISP程序设计篇》通过详细的实例和教程,介绍了这些编程技术的基础知识和实际应用。读者可以学习如何编写简单的AutoLISP命令,掌握AutoCAD的基本操作和命令,了解DCL语言和图形用户界面设计,以及使用Visual LISP进行更复杂的程序设计。 这本书适合那些已经熟悉AutoCAD,想要进一步了解和掌握AutoCAD编程技术的人员阅读。无论是对于建筑设计师、机械工程师还是其他需要使用AutoCAD软件的专业人士来说,掌握编程技术可以提高工作效率和自动化设计过程。 总之,《AutoCAD完全应用指南:AutoLISP、DCL和Visual LISP程序设计篇》是一本实用的技术书籍,可以帮助读者深入了解和掌握AutoCAD的编程技术,提高工作效率并实现自定义的绘图功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值