lisp技巧与范例实用word文档 26页.docx

上传人:b****8 文档编号:10982811 上传时间:2023-02-24 格式:DOCX 页数:28 大小:22.45KB
下载 相关 举报
lisp技巧与范例实用word文档 26页.docx_第1页
第1页 / 共28页
lisp技巧与范例实用word文档 26页.docx_第2页
第2页 / 共28页
lisp技巧与范例实用word文档 26页.docx_第3页
第3页 / 共28页
lisp技巧与范例实用word文档 26页.docx_第4页
第4页 / 共28页
lisp技巧与范例实用word文档 26页.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

lisp技巧与范例实用word文档 26页.docx

《lisp技巧与范例实用word文档 26页.docx》由会员分享,可在线阅读,更多相关《lisp技巧与范例实用word文档 26页.docx(28页珍藏版)》请在冰豆网上搜索。

lisp技巧与范例实用word文档 26页.docx

lisp技巧与范例实用word文档26页

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!

==本文为word格式,下载后可方便编辑和修改!

==

lisp技巧与范例

篇一:

AutoLISP基础入门案例,很受用

单元一:

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"),(xy)

E.像素名称代码如

6000f262>

F.档案代码如

#12438>.....

G.选择群集代码如

1>

规则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:

以(defunC:

函式名(自变量/变数)........)程序中,程序中的变量若在『/』右边变量内,则称为『区域变量』,否则为『整体变量』

二、学好AutoLISP的关键:

充份掌握『语法结构』&『功能函数』的搭配!

!

!

其时这个关键亦是学习其它程序语言的关键.

?

『语法结构』AutoLISP的语法结构规定的并不多,变量不用事先定

义及宣告,读者可熟记下一单元有关重要的AutoLISP基本语法结

构,十四条设计上要求的『规则』

?

『功能函数』AutoLISP之所以能功能如此强大,都有赖功能函数,其

成员共约200个:

篇二:

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"),(xy)

E.图元名称代码如

6000f262>

F.档案代码如

#12438>.....

G.选择群集代码如

1>

规则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:

以(defunC:

函式名(引数/变数)........)程式中,程式中的变数若在『/』右边变数内,则称为『区域变数』,否则为『整体变数』

二、学好AutoLISP的关键:

充份掌握『语法结构』&『功能函数』的搭配!

!

!

其时这个关键亦是学习其它程式语言的关键.

『语法结构』AutoLISP的语法结构规定的并不多,变数不用?

事先定义及宣告,读者可熟记下一单元有关重要的AutoLISP基本语法结构,十四条设计上要求的『规则』

『功能函数』AutoLISP之所以能功能如此强大,都有赖功能函数,其成员共约200个:

1.一般性函数170个

2.ADS定义特殊函数9个

3.配合DCL交谈框设计函数22个

各功能函数在使用上要求配合的运算子(引数)型态,均有其规定,当然,您可不能乱给!

例如:

?

指令:

(+123"ABC")

传回:

error:

badargumenttype(引数型态错误)

因为『+』函数不接受字串,而"abc"正是字串

指令:

(rtos"abc")

传回:

error:

badargumenttype(引数型态错误)

因为『rtos』函数只接受实数转字串

详细内容可参考下一章『快速浏览AutoLISP功能函

数』至于各功能函数详细的语法与实例应用,读者请

参阅本书『第三篇AutoLISP功能函数详解』

三、重要的AutoLISP的基本语法结构:

规则1:

以括弧组成运算式,左右括弧数一定要成双成对、相对称请依序在『指令:

』列(或指令:

)后面直接键入以下运算式

指令:

(+12345)传回加总和15

指令:

(max14.58.935)传回最大值35

指令:

(menucmd"p1=*")显示拉下POP1

指令:

(getint"EnterReal:

")传回EnterReal:

要求输入一个实数指令:

(setqa(*12.54))传回相乘值50,同时设定给『变数a』指令:

!

a回应50(注:

!

号可用来查询变数值)

指令:

(min75a63)回应最小值50(因为变数值a代表50)错误的范例:

指令:

(setqa(*12.54)

1>传回1>表示少了一个括弧

1>)此时,只要再补上一个)即可

指令:

(setqa(*12.54

2>传回2>表示少了二个括弧

2>))此时,只要再补上二个)即可

规则2:

运算式型态(运算元运算子运算子运算子...)或(函数(式)引数引数引数...)

或(函数(式)元素元素元素...)

1.1运算元包括『功能函数』&『自定函式』

功能函数:

如上练习中的

+、max、menucmd、getint、setq、*、min,详细内容可参考下一章『快速浏览AutoLISP功能函数』&『第三篇AutoLISP功能函数详解』

自定函式:

由设计者自行定义的新函式或副程式

1.2运算子(又称引数或元素)包括:

A.整数(Integer):

如8,-17,500,9999…

篇三:

Autolisp基础教程

ㄟAutolisp基础教程

单元一:

AutoLISP主角潇洒登场

(setver“cmdecho”0)设定指令不相应

(steq“filedia”0)设定打开文件的时候不弹出窗口

一.AutoLISP是何方神圣?

1、AutoLISP是AutoCAD的最佳拍檔!

2、AutoLISP内含于AutoCAD软件内,不用另外花钱买!

3、AutoLISP是强化AutoCAD最好、最直接的『程序语言』!

4、AutoLISP易学、易用,即使不会程序设计的AutoCAD使用者,都能在最短的时间内,写出令人惊讶、赞叹的功能!

若说AutoLISP的出现,是替AutoCAD创造一片天的『最大功臣』,实不为过一点也不夸张!

5、AutoLISP希望您去学习它、改善它、发挥它、享受它.真的!

它的威力、魅力无穷!

二.AutoLISP程序语言的特质分析:

学习AutoLISP是非常容易的,对初学者而言,即使没有学习过任何的程序语言,都能很快的上手,写出精彩漂亮的AutoLISP程序!

语法简单:

不用特殊的变量宣告,非常富有弹性,比起其它的程序语言,它的语法可说是非常简单而有其独特的风格!

功能函数强大:

除一般性的功能函数外,又拥有为数不少控制配合AutoCAD的特殊函数,再加上AutoLISP可直接呼叫执行所有AutoCAD的指令,以及掌握运用所有的AutoCAD系统变量,功能之强大令人欣喜不已!

撰写的环境不挑剔:

只要是一般的文书编辑软件都适用!

如:

Windows的记事本、PE2、PE3、DW3、书中仙、汉书、EDIT....等

直译式程序:

不用再作编译,『即写即测、即测即用』,马上可以在AutoCAD中响应效果,马上就有成就感!

横跨各作业平台:

悠然自得,虽然AutoCAD有DOS、Windows版本之分但是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.对设计人员而言:

A.得到一笔提升绩效奖金呢?

当然,无形中,『AutoCAD高手的封号』也将黄功力又往前迈出了一大步,对个人的成长帮助匪浅,幸运的话,搞不好还可以袍加身,不亦乐乎!

!

!

B.『半桶水、响叮当』,千万不要因为会写AutoLISP程序而自傲、孤僻、嚣张起来,功力的增长,只是让您有更多『服务他人、服务公司』的机会,若自恃过重,宁可不要!

C.AutoLISP程序功力的累进,是无远弗届的,千万不要『孤芳自赏』,『人外有人,天外有天』,也许您觉得是『宝贝加三级』的程序,只是其它设计师基本程序中的一部份罢了!

D.既然AutoLISP是AutoCAD的『最大功臣』,当然不会轻易被舍弃,如此,您的学习,保证不会白费!

E.『精益求精』、『虚心求教』、『用心学习、观摩』、『决心成为高手』

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"),(xy)

E.像素名称代码如

6000f262>

F.档案代码如

#12438>.....

G.选择群集代码如

1>

规则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:

以(defunC:

函式名(自变量/变量)........)程序中,程序中的变量若在『/』右边变量内,则称为『区域变量』,否则为『整体变量』

二、学好AutoLISP的关键:

充份掌握『语法结构』&『功能函数』的搭配!

!

!

其时这个关键亦是学习其它程序语言的关键.

*『语法结构』AutoLISP的语法结构规定的并不多,变量不用事先定义及宣告,读者可熟记下一单元有关重要的AutoLISP基本语法结构,十四条设计上要求的『规则』

*『功能函数』AutoLISP之所以能功能如此强大,都有赖功能函数,其成员共约200个:

1、一般性函数170个

2、ADS定义特殊函数9个

3、配合DCL交谈框设计函数22个

各功能函数在使用上要求配合的运算子(自变量)型态,均有其规定,当然,您可不能乱给!

例如:

指令:

(+123"ABC")

传回:

error:

badargumenttype(自变量型态错误)

因为『+』函数不接受字符串,而"abc"正是字符串

指令:

(rtos"abc")

传回:

error:

badargumenttype(自变量型态错误)

因为『rtos』函数只接受实数转字符串

详细内容可参考下一章『快速浏览AutoLISP功能函数』至于各功能函数详细的语法与实例应用,读者请参阅本书『第三篇AutoLISP功能函数详解』

三、重要的AutoLISP的基本语法结构:

规则1:

以括号组成表达式,左右括号数一定要成双成对、相对称

请依序在『指令:

』列(或指令:

)后面直接键入以下表达式

指令:

(+12345)传回加总和15

指令:

(max14.58.935)传回最大值35

指令:

(menucmd"p1=*")显示拉下POP1

指令:

(getint"EnterReal:

")传回EnterReal:

要求输入一个实数

指令:

(setqa(*12.54))传回相乘值50,同时设定给『变量a』

指令:

!

a响应50(注:

!

号可用来查询变量值)

指令:

(min75a63)响应最小值50(因为变量值a代表50)

错误的范例:

指令:

(setqa(*12.54)

1>传回1>表示少了一个括号

1>)此时,只要再补上一个)即可

指令:

(setqa(*12.54

2>传回2>表示少了二个括号

2>))此时,只要再补上二个)即可

规则2:

表达式型态(操作数运算子运算子运算子...)或(函数(式)自变量自变

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 成考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1