没有合适的资源?快使用搜索试试~ 我知道了~
AutoLISP基础知识
4星 · 超过85%的资源 需积分: 24 16 下载量 89 浏览量
2011-04-17
16:24:49
上传
评论 1
收藏 180KB DOC 举报
温馨提示
试读
21页
AutoLISP是AutoCAD的最佳拍檔! AutoLISP内含于AutoCAD软件内,不用另外花钱买! AutoLISP是强化AutoCAD最好、最直接的『程序语言』! AutoLISP易学、易用,即使不会程序设计的AutoCAD使用者,都能在最短的时间内,写出令人惊讶、赞叹的功能! 若说AutoLISP的出现,是替 AutoCAD 创造一片天的『最大功臣』,实不为过一点也不夸张! AutoLISP希望您去学习它、改善它、发挥它、享受它.真的!它的威力、魅力无穷!
资源推荐
资源详情
资源评论
一是何方神圣
是 的最佳拍檔
内含于 软件内不用另外花钱买
是强化 最好、最直接的『程序语言』
易学、易用即使不会程序设计的 使用
者都能在最短的时间内写出令人惊讶、赞叹的功能
若说 的出现是替创造一片天的『最
大功臣』实不为过一点也不夸张
希望您去学习它、改善它、发挥它、享受它真
的它的威力、魅力无穷
二程序语言的特质分析
学习 是非常容易的对初学者而言即使没有学
习过任何的程序语言都能很快的上手写出精彩漂亮的
程序
语法简单
不用特殊的变量宣告非常富有弹性比起其它的程序语
言它的语法可说是非常简单而有其独特的风格
功能函数强大
除一 般性的功能函数外 又拥有为数 不 少 控 制 配合
的特殊函数再加上 可直接呼叫执行所有
的指令以及掌握运用所有的 系统变量功
能之强大令人欣喜不已
撰写的环境不挑剔
只要是一般的文书编辑软件都适用如 的记事
本、、、、书中仙、汉书、等
直译式程序
不用再作编译『即写即测、即测即用』马上可以在
中响应效果马上就有成就感
横跨各作业平台
悠然自得虽然 有 、 版本之分但
是 却可在不改写的原貌下加载与执行
三撰写的动机
欲强化原有指令时
欲创造更有用的新指令
欲简化繁琐的环境设定或绘图步骤时
欲处理参数式绘图时
欲做图面资料读文件、写文件
欲做简报展示时
欲达到真正灵活掌控时
!欲提升自己跨上高手列车时
四的效益评估
对公司负责人或设计主管而言
也许某员工或干部花了 " 个小时撰写一个
程序表面上这将近三天的时间他连一张图都没有画甚至
可能偶有发呆、沈思若此程序一天可以替公司绘图部门节
省 小时绘图时间那算一算只要 " 天就抵销开发成本而
" 天以后都是赚的『用的愈久省的愈多』!
#若员工皆有此动力在不影响正常工作『鼓励』都来
不及那有『压抑』的道理甚至还要派遣优秀人员出去受训
学习更好的设计技巧与创意呢?!
千万不要因为您的不懂或压抑 $ 您的权威与
%如此不但对员工造成打击甚至您可能成为阻碍了
公司计算机化进步的罪魁祸首
当然若要撰写的程序很多内部设计人员的程序功力
距离太远达成需求的时间反而变得遥遥无期那倒不如求助
于市面上已有的相关支持软件。
对设计人员而言
得到一笔提升绩效奖金呢当然无形中『高
手的封号』也将黄功力又往前迈出了一大步对个人的成长
帮助匪浅幸运的话搞不好还可以袍加身不亦乐乎
#『半桶水、响叮当』千万不要因为会写程
序而自傲、孤僻、嚣张起来功力的增长只是让您有更多
『服务他人、服务公司』的机会若自恃过重宁可不要
程序功力的累进是无远弗届的千万不要
『孤芳自赏』『人外有人天外有天』也许您觉得是『宝
贝加三级』的程序只是其它设计师基本程序中的一部份罢
了
既然是的『最大功臣』当然不会
轻易被舍弃如此您的学习保证不会白费
『精益求精』、『虚心求教』、『用心学习、观摩』、
『决心成为高手』
对程序本身而言
少少的几行却可能有『大大满意』的时候
#充份掌握了控制、创造的『尚方宝剑』让
您在的设计运作中『得心应手』享受无比的快乐
与成就感
五如何有效的学习
先由小程序着手认识 语法规定
浏览所有的 功能函数重要的功能函数要熟记脑
海俗语说的好『一回生二回熟』除非您不用心否则没有
学不好的道理
要懂得偷懒不要认为在绘图的过程中繁琐的步骤是合
理的困难的绘图过程是必须忍耐的试着用 解决看
看
多观摩别人的程序设计吸取精华像海棉一样&'『吸』、
『吸』、『吸』
动手『写』程序比用眼睛看程序更能够领略深记脑海
随时随地整理您的程序并加以批注以免因时间的飞逝
当时用心的成果也烟消云散忘的一乾二净
『决心』是学好最重要的关键
期许自己要由操作者变成创造者
1(21
一、学好 的关键、基本结构与语法:
程序语言的特质
语法简单
#功能函授数强大
撰写的环境不挑剔
直译式程序『即写即测、即测即用』
横跨各作业平台悠然自得)注以上五点读
者可以参考上一章的剖析*
学好的关键:充份掌握『语法结构』+『功
能函数』的搭配
重要的的基本语法结构
规则 :以括号组成表达式、相对称左右括号数一定要
成双成对
规则 :表达式型态:)操作数运算子运算子运算子*
操作数包括『功能函数』+『自定函式』
运算子)自变量*包括
整数),-,.*如!/ ""0000
#实数)%,12*如!/
字符串).-*如3333
串行)*如)313343353*)67*
像素名称代码如8,971:,""";'
<档案代码如8=2,>!'
?选择群集代码如8,2,59,'
规则 :表达式中的『运算子』可以是另一『表达式』
或『子程序』
规则 :多重的括号表达式运算的先后顺序是『由内而
外、由左而右』
规则 :以档案型态存在的程序)档案*其
扩展名必须是2@
规则 :撰写的环境只要是一般的文书编辑软件、记事
本可编辑档案者都适用
规则 :以,;功能函数定义新的指令或新的功能函
式
规则 !:新定义的功能函式名称若为『函式名』则此
函式可为 新指令
规则 0:加载程序的作法:&'指令后直接键
入)213 主檔名3*
规则 ":
程序中在『分号A』后的内容均为批注程序不
处理适时的增加批注将使程序更具可看性、学习性及完整
性
规则 :
最常用的变量型态是『整数』、『实数』、
『字符串』、『点串行』四种变量的型态依据设定值而自
动定义变量会一直储存该值直到被重新设定值或绘图结束
自动消失
规则 :以,B功能函数设定变量值),B变量名称设
定值*
规则 :欲在的环境中查看一变量值指令下
键入『变量名』即可
规则 :以),;函式名)自变量(变数**程序中
程序中的变量若在『(』右边变量内则称为『区域变量』
否则为『整体变量』
二、学好的关键:
充份掌握『语法结构』+『功能函数』的搭配其时这
个关键亦是学习其它程序语言的关键
C『语法结构』的语法结构规定的并不多变量
不用事先定义及宣告读者可熟记下一单元有关重要的
基本语法结构十四条设计上要求的『规则』
C『功能函数』之所以能功能如此强大都有赖
功能函数其成员共约 "" 个
一般性函数 " 个
定义特殊函数 0 个
配合交谈框设计函数 个
各功能函数在使用上要求配合的运算子)自变量*型态均
有其规定当然您可不能乱给
例如
指令)D3#3*
传回:,...411.-:,7@,)自变量型态错误*
因为『D』函数不接受字符串而31453正是字符串
指令).31453*
传回:,...411.-:,7@,)自变量型态错误*
因为『.』函数只接受实数转字符串
详细内容可参考下一章『快速浏览功能函数』
至于各功能函数详细的语法与实例应用读者请参阅本书
『第三篇 功能函数详解』
三、重要的的基本语法结构:
规则 :以括号组成表达式左右括号数一定要成双成对、
相对称
请依序在『指令』列)或指令*后面直接键入以下表达
式
指令)D*传回加总和
指令):16!0*传回最大值
指令):,5:3@&E3*显示拉下
指令)-,93,.%,123*传回 ,.%,12要求输入一个
实数
指令),B1)E**传回相乘值"同时设定给『变量
1』
指令1回应 ")注号可用来查询变数值*
指令): 1*响应最小值 ")因为变量值 1 代表 "*
错误的范例:
指令),B1)E*
'传回 '表示少了一个括号
'*此时只要再补上一个*即可
指令),B1)E
'传回 '表示少了二个括号
'**此时只要再补上二个*即可
规则 :表达式型态)操作数运算子运算子运算子*或
)函数)式*自变量自变量自变量*
2(21
或)函数)式*元素元素元素*
操作数包括『功能函数』+『自定函式』
功能函数
如 上 练 习 中 的 D 、 :16 、 :,5: 、 -,9 、
,B、E、:,详细内容可参考下一章『快速浏览
功能函数』+『第三篇 功能函数详解』
自定函式
由设计者自行定义的新函式或子程序
运算子)又称自变量或元素*包括
整数),-,.*如 !/ ""0000…
正常范围 的 次方介于/ ! 与D 之间
特殊范围
若以F1函数将其转为实数则范围 的 次方介于/
!! 与D ! 之间
#实数)%,12*如 !/ …
正常范围
带有小数点的数精度可达位有效数字
字符串).-*如33333,.%,1233 3
…
正常范围
以双引号内夹『字符』为认定字符数不受限制
串行)*如)313343353*)67*)67G*)313!*
正常范围
以左右括号内夹『元素』为认定元素型态非常弹性
使用频率
在程序设计中应用非常高
范例说明)313!HH)**表示此串行内有五个元素
313表示字符串 1、! 表示整数 !、 表示实数 、HH 表示
变量 HH、)*表示串行)*
点坐标)67*表示法
&'以二实数形成串行
点坐标)67G*表示法
&'以三实数形成串行
像素名称代码如8,971:,""";'
使用范围会自动赋予像素指向代码透过此代
码可找到像素的数据库记录
范例说明),B,),21**
传回8,971:,"""""'
),-,,*可找到像素的数据库串行
<档案代码如8=2,>!'…
使用范围
开启)@,*档案作读档).*、写档)*使用时所产生的代码
如下
范例说明
),BI.)@,3,633.3**回应8=2,>!'
),BI)@,31456333**回应8=2,>!'
?选择群集代码如8,2,59,'、8,2,59,'…
使用范围
一个或数个像素所形成的选择集
范例说明
),B)-,**
选取对象)可选择物体*
选取对象)可选择物体*
选取对象)按JK%L键*
回应8,2,59,'
规则 :表达式中的『运算子』可以是另一『表达式』
或『子程序』功能函数使用语法
).51字符串 字符串 字符串 *字符串结合功能函
数
)-,.-提示*要求键入一个字符串
).实数*将实数转换成字符串
范 例 说 明 ).51 31453 33 33* 传
回:31453
范例说 明 ).5131453)-,.-3,..-3*).
**
执行结 果 ,..- 键入任一字 符串 假设是 键入
E$E
回应3145E$E3
本例中的 .51 函数在语法中要求的『运算子』必须是
『字符串』型态
『运算子 』&31453是正常的字符串运算子
『运算子 』&表达式)-,.-3,..-3*传回结果
是一字符串3E$E3
『运算子 』&表达式).*传回结果是一字符串
33
规则 :多重的括号表达式运算的先后顺序是『由内而
外、由左而右』
范例说明
请将 "D /( 的结果设定给变量 HH,并转换
成 的表达式
解法技巧 :
运用『二分法、加括号』:)"D */)( *
操作数往前提:HH&)/)"D *)( **
操作数再往前提:HH&)/)D" *)( **
转换完成:),BHH)/)D" *)( ***
解法技巧 #:
运用『二分法、加括号』:)"D) /)( ***
操作数往前提:HH&)D") /)( ***
操作数再往前提:HH&)D")/ )( ***
转换完成:),BHH)D")/ )( ****
规则 :以档案型态存在的 程序) 档案*其
扩展名必须是
规则 :撰写的环境只要是一般的文书编辑软件可编辑
档案者都适用
如、、、书中仙、汉书、、记事本等
规则 :以,;功能函数定义新的指令或新的功能函
式)注自变量及区域变量可省略*
程序结构型态:),;函式名称)自变量(区域变量*
程序内容*
规则 !:新定义的功能函式名称若为『函式名』则此
3(21
函式可为新指令
)注自变量及区域变量可省略*
程序结构型态:),;MM)自变量(区域变量*程序内
容*
则加载此程序后可在指令后直接键入新定义的
MM指令
规则 0:
加载 程序的作法:指令后直接键入)213
主檔名3*
注21与字符串间的空格可有可无
注21与双引号间的空格可有可无)213 主檔名3*
范例
在5N2@2目录下有一 程序 O2@而您目前的工作
目录在 5N- 下
C若『环境设定』之『支持档案搜寻路径』有指定到 5N
2@2 目录则欲使用加载 O2@P指令后键入)213O3*即
可
C若『环境设定』之『支持档案搜寻路径』无指定到 5N
2@2 目录则键入)213O3*后会出现错误讯息如下
无法开启「O2@」做输入错误载入失败)3O3*E取
消E
此时您可键入
指令)2135NN2@2NNO3*或
指令)21353(2@2(O*
不可键入)2135N2@2NO3*
因为『N』在结构语法中已经用于『跳脱码控
制』了
规则 ":程序中在『分号A』后的内容均为批
注程序不处理适时的增加批注将使程序更具可看性、学
习性及完整性
范例@@2@内容如下
A本程序功能可快速画门、窗
A设计者QQ 博士
A版权所有欢迎使用
),;5@@)*A以下为画门子程序A以下为画窗子程序
*
规则 :最常用的变量型态是『整数』、『实
数』、『字符串』、『点串行』四种变量的型态依据设定
值而自动定义变量会一直储存该值直到被重新设定值或绘
图结束自动消失
规则 :以,B功能函数设定变量值),B变量名称设
定值*
范例
),B1""*A变量1值设定成整数""
),B4*A变量 4 值设定成实数
),B53?:.-3*A变量5值设定成字符串
),B@)-,@3,.K3**A变量@值设定成点
串行
),B@)214**
A此时1 值是 ""4 值是 变量 @ 值设定成点串行
)""*
复制代码
注意直接设定成点串行时不能省略单引号『R』否则会
被误认)0 "*又是一个表达式0 是操作数而出错
规则 :欲在的环境中查看一变量值指令下
键入『变量名』即可
范例
指令),B11)D"" **传回:
指令11传回:
指令),B@@)20""**传回:)0""*
指令@@传回:)0""*
指令传回:2空值无设定
规则 :以),;函式名)自变量(变数**程序中
程序中的变量若在『(』右边变量内则称为『区域变量』
否则为『整体变量』)注在中未赋予值的变量其
值皆响应2*
『区域变量』于此程序执行完毕后其值自动消失
『整体变量』于此程序执行完毕后其值仍然存在
范例,2@内容如下
),;5O)(145*
),B1""*
),B4"*
),B5"*
),B)D145**
*
复制代码
回到:指令键入)213O3*传回:5O
指令O传回:"
指令1传回:2)属区域变量*
指令4传回:2)属区域变量*
指令5传回:2)属区域变量*
指令传回:")属整体变量*
4(21
一、看到以下那么多的功能函数洋洋洒洒
大类
您第一个念头一定惊讶怎么会那么多您可能快吓坏了
您第二个念头一定会想『那么多怎么记得下来』您
可能快放弃了
二、其实您应该要『很兴奋』而『充满信心』的怎么
说呢
您有那么多的『大将』协助您撰写程序当然
左右又逢源不但轻松而且要快乐的不得了
这些函数只要您先浏览有印象要用时再翻查该函数
了解用途语法再加入到您的程序中就可以了
常用的函数写久、用久后自然会深深牢记脑海想忘
都很难不常用的函数若硬要您记下来相信连高手都很困
难更何况是初学的您
您不用再摸不着头绪了因为您幸运的拥有了本书就是
您成功的开始
第一类数学运算功能函数
项目
函数语法
传回
)D数值数值*
累计实数或整数数值
)/数值数值*
减去数值
)E数值数值*
所有数值乘积
)(数值数值*
第一个数值除以第二个以后数值的商
)D数值*
数值D
)/数值*
数值/
)14数值*
数值的绝对值
!
)11数值*
反正切值
0
)5角度*
角度的余弦值角度值为弪度
"
),6@数值*
数值的指数
),6@基数指数*
基数的指数值
)=6数值*
将数值转换为整数值
)F1数值*
将数值转换为实数值
)-5数值 数值 *
二数值的最大公因子
)2-数值*
数值的自然对数值
):16数值数值*
数值中的最大值
):数值数值*
数值中的最小值
!
@
常数 @其值约为0
0
).,:数值 数值 *
二数值的相除的余数
"
)角度*
角度的正旋值角度值为弪度
)B.数值*
数值的平方根
第二类检验+逻辑运算功能函数
项目
函数语法
传回
)&表示式 表示式 *
比较表示式 是否等于表示式 适用数值及字符串
)(&表示式 表示式 *
比较表示式 是否大于等于表示式
)8表示式 表示式 *
比较表示式是否8小于表示式
)8&表示式 表示式 *
比较表示式是否8&小于等于表示式
5(21
剩余20页未读,继续阅读
资源评论
- mlf031520172013-02-02AutoLISP学习必备
ss251086824
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功