AutoLISP基础入门案例,很受用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单元一:AutoLISP主角潇洒登场
一. AutoLISP 是何方神圣?
1.AutoLISP是AutoCAD的最佳拍檔!
2.AutoLISP内含于AutoCAD软件内,不用另外花钱买!
3.AutoLISP是强化AutoCAD最好、最直接的『程序语言』!
4.AutoLISP易学、易用,即使不会程序设计的AutoCAD使用者,都能在最短
的时间内,写出令人惊讶、赞叹的功能!
5.若说AutoLISP的出现,是替AutoCAD 创造一片天的『最大功臣』,实不
为过一点也不夸张!
6.AutoLISP希望您去学习它、改善它、发挥它、享受它.真的!它的威力、魅
力无穷!
二. AutoLISP 程序语言的特质分析:
学习AutoLISP是非常容易的,对初学者而言,即使没有学习过任何的程序语言,都能很快的上手,写出精彩漂亮的AutoLISP程序!
三.撰写AutoLISP 的动机?
1.欲强化AutoCAD 原有指令时.
2.欲创造更有用的AutoCAD 新指令.
3.欲简化繁琐的环境设定或绘图步骤时.
4.欲处理参数式绘图时.
5.欲做图面资料读文件、写文件.
6.欲做AutoCAD 简报展示时.
7.欲达到真正灵活掌控AutoCAD 时.
8.欲提升自己跨上AutoCAD 高手列车时.
四.AutoLISP 的效益评估?
1. 对公司负责人或设计主管而言:
A.
也许某员工或干部花了20个小时撰写一个AutoLISP程序,表面上,这将近三天的时间,他连一张图都没有画,甚至可能偶有发呆、沈思,若此程序一天可以替公司绘图部门节省1小时绘图时间,那算一算,只要20天就抵销开发成本,而20天以后都是赚的,『用的愈久,省的愈多』!
B.若员工皆有此动力,在不影响正常工作,『鼓励』都来不及,那有『压抑』的道理,甚至还要派遣优秀人员出去受
训,学习更好的设计技巧与创意呢?!
C.千万不要因为您的不懂或压抑,SHOW您的权威与POWER,如此,不但对员工造成打击,甚至您可能成为阻碍
了公司计算机化进步的罪魁祸首
D.
当然,若要撰写的程序很多,内部设计人员的程序功力距离太远,达成需求的时间反而变得遥遥无期,那倒不如求助于市面上已有的相关AutoCAD 支持软件。
2. 对设计人员而言:
3.对程序本身而言:
A.少少的几行,却可能有『大大满意』的时候
B.充份掌握了控制、创造AutoCAD 的『尚方宝剑』,让您在AutoCAD 的设计运作中『得心应手』,享受无比
的快乐与成就感
五.如何有效的学习AutoLISP ?
1.先由小程序着手,认识AutoLISP语法规定!
2.浏览所有的AutoLISP功能函数,重要的功能函数要熟记脑海,俗语说的好
『一回生,二回熟』,除非您不用心,否则没有学不好的道理
3.要懂得偷懒:不要认为在绘图的过程中,繁琐的步骤是合理的,困难的绘图
过程是必须忍耐的,试着用AutoLISP解决看看!
4.多观摩别人的程序设计,吸取精华,像海棉一样=>『吸』、『吸』、『吸』
5.动手『写』程序比用眼睛看程序,更能够领略深记脑海!
6.随时随地整理您的程序,并加以批注,以免因时间的飞逝,当时用心的成果
也烟消云散,忘的一乾二净
7.『决心』是学好AutoLISP 最重要的关键!
8.期许自己,要由操作者变成创造者
单元二:AutoLISP的关键、基本结构及语法
一、学好AutoLISP 的关键、基本结构与语法:
1. AutoLISP 程序语言的特质
A.语法简单
B.功能函数强大
C.撰写的环境不挑剃
D.直译式程序,『即写即测、即测即用』
E.横跨AutoCAD 各作业平台,悠然自得(注:以上五点,读者可以参考上一章的剖析)
2.学好AutoLISP 的关键:充份掌握『语法结构』&『功能函数』的搭配
3.重要的AutoLISP 的基本语法结构
规则1:以括号组成表达式,、相对称左右括号数一定要成双成对
规则2:表达式型态:(操作数运算子运算子运算子)
1.1 操作数包括『功能函数』&『自定函式』
1.2 运算子(自变量)包括:
A.整数(Integer) 如8,-17,500,9999 .....
B.实数(Real) 如8.5,-17.456 .....
C.字符串(String) 如"AutoCAD","123"
D.串行(List) 如("a" "b" "c"),(x y)
E.像素名称代码如
F.档案代码如
G.选择群集代码如
规则3:表达式中的『运算子』,可以是另一『表达式』或『子程序』
规则4:多重的括号表达式,运算的先后顺序是『由内而外、由左而右』
规则5:以档案型态存在的AutoLISP 程序(ASCII 档案),其扩展名必须是.lsp
规则6:撰写的环境,只要是一般的文书编辑软件、记事本,可编辑ASCII 档案者都适用
规则7:以defun 功能函数定义新的指令或新的功能函式
规则8:新定义的功能函式名称,若为『C:函式名』,则此函式可为AutoCAD新指令
规则9:加载AutoLISP 程序的作法:=> 指令:后直接键入(load "LISP主檔名")
规则10:AutoLISP 程序中,在『分号;』后的内容均为批注,程序不处理,适时的增加批注,将使程序更具可看性、学习性及完整性
规则11:AutoLISP 最常用的变量型态是『整数』、『实数』、『字符串』、『点串行』四种,变量的型态依据设定值而自动定义,变量会一直储存该值,直到被重新设定值或绘图结束自动消失
规则12:以setq 功能函数设定变量值(setq 变量名称设定值)
规则13:欲在AutoCAD 的环境中,查看一变量值,指令:下键入『!变量名』即可
规则14:以(defun C:函式名(自变量/ 变数) ........)程序中,程序中的变量若在『/』右边变量内,则称为『区域变量』,否则为『整体变量』
二、学好AutoLISP 的关键:
充份掌握『语法结构』&『功能函数』的搭配其时这个关键亦是学习其它程序语言的关键.
•『语法结构』AutoLISP 的语法结构规定的并不多,变量不用事先定义及宣告,读者可熟记下一单元有关重要的AutoLISP基本语法结
构,十四条设计上要求的『规则』
•『功能函数』AutoLISP 之所以能功能如此强大,都有赖功能函数,其成员共约200个: