没有合适的资源?快使用搜索试试~ 我知道了~
AutoLISP从入门到精通初级教程(新手必备)
2星 需积分: 34 161 下载量 167 浏览量
2015-08-31
15:09:13
上传
评论 3
收藏 211KB DOC 举报
温馨提示
《AutoLISP从入门到精通初级教程》新手学习AutoCAD二次开发必备材料
资源推荐
资源详情
资源评论
AutoLISP 入门
单元一:AutoLISP 主角登场......................................................................................................1
单元二:AutoLISP 的关键、基本结构及语法..........................................................................4
单元三:快速分类浏览 AutoLISP 功能函数(一)....................................................................11
单元四:快速分类浏览 AutoLISP 功能函数(二)....................................................................14
单元五:轻松快速的掌握 AutoLISP 设计技巧.......................................................................17
单元六:图元数据的取得与活用技巧(一)..............................................................................22
单元七:图元数据的取得与活用技巧(二)..............................................................................26
单元八:新手上路-参数设计的关键技巧...............................................................................32
单元一:AutoLISP 主角登场
一. 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"),(x y)
E.图元名称代码 如 <entity name: 6000f262>
F.档案代码 如 <file:#12438>.....
G.选择群集代码 如 <Selection set: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:以(defun C:函式名(自变量 / 变数) ........)程序中,程序中的变量若在『/』右边变量内,则称
为『区域变量』,否则为『整体变量』
二、学好 AutoLISP 的关键:
充份掌握『语法结构』&『功能函数』的搭配!!! 其时这个关键亦是学习其它程序语言的关键.
*『语法结构』AutoLISP 的语法结构规定的并不多,变量不用事先定义及宣告,读者可熟记下一单
元有关重要的 AutoLISP 基本语法结构,十四条设计上要求的『规则』
*『功能函数』AutoLISP 之所以能功能如此强大,都有赖功能函数,其成员共约 200 个:
1、一般性函数 170 个
2、ADS 定义特殊函数 9 个
3、配合 DCL 交谈框设计函数 22 个
各功能函数在使用上要求配合的运算子(自变量)型态,均有其规定,当然,您可不能乱给!
例如:
指令:(+ 1 2 3 "ABC")
传回:error : bad argument type (自变量型态错误)
因为『+』函数不接受字符串,而 "abc" 正是字符串
指令:(rtos "abc")
传回:error : bad argument type (自变量型态错误)
因为『rtos』函数只接受实数转字符串
详细内容可参考下一章『快速浏览 AutoLISP 功能函数』至于各功能函数详细的语法与实例应用,
读者请参阅本书『第三篇 AutoLISP 功能函数详解』
三、重要的 AutoLISP 的基本语法结构:
规则 1:以括号组成表达式,左右括号数一定要成双成对、相对称
请依序在『指令:』列 (或指令:) 后面直接键入以下表达式
指令:(+ 1 2 3 4 5) 传回加总和 15
指令:(max 14.5 8.9 35) 传回最大值 35
指令:(menucmd "p1=*") 显示拉下 POP1
指令:(getint "Enter Real:") 传回 Enter Real:要求输入一个实数
指令:(setq a (* 12.5 4)) 传回相乘值 50,同时设定给『变量 a』
指令:!a 回应 50 (注:! 号可用来查询变数值)
指令:(min 75 a 63) 响应最小值 50 (因为变量值 a 代表 50)
错误的范例:
指令:(setq a (* 12.5 4)
1> 传回 1>表示少了一个括号
1> ) 此时,只要再补上一个 ) 即可
指令:(setq a (* 12.5 4
2> 传回 2>表示少了二个括号
2> )) 此时,只要再补上二个 ) 即可
规则 2:表达式型态 (操作数 运算子 运算子 运算子 ...)或 (函数(式) 自变量 自变量 自变量 ...)
或 (函数(式) 元素 元素 元素 ...)
1.1 操作数包括『功能函数』&『自定函式』
功能函数: 如上练习中的 +、max、menucmd、getint、 setq、*、min,详细内容可参考下一章
『快速浏览 AutoLISP 功能函数』&『第三篇 AutoLISP 功能函数详解』
自定函式: 由设计者自行定义的新函式或子程序
1.2 运算子(又称自变量或元素)包括:
A.整数(Integer): 如 8,-17,500,9999…
正常范围: 2 的 16 次方,介于-32768 与+32767 之间
剩余36页未读,继续阅读
资源评论
- wzp20162016-12-28东西市有点用,但就这么点要3分...
zgbcsdn1989
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Delphi 12 控件之FlashAV FFMPEG VCL Player For Delphi v7.0 for D10-D11 Full Source.7z
- Delphi 12 控件之DevExpressVCLProducts-24.2.3.exe.zip
- Mysql配置文件优化内容 my.cnf
- 中国地级市CO2排放数据(2000-2023年).zip
- smart200光栅报警程序
- 企业信息部门2024年终工作总结与2025规划方案
- 串口AT命令发送工具,集成5G模组常用At命令
- 通过python实现归并排序示例代码.zip
- 复旦大学张奇:2023年大规模语言模型中的多语言对齐与知识分区研究
- 通过python实现一个堆排序示例代码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功