AutoLISP基础入门案例-很受用名师制作优质教学资料.doc
《AutoLISP基础入门案例-很受用名师制作优质教学资料.doc》由会员分享,可在线阅读,更多相关《AutoLISP基础入门案例-很受用名师制作优质教学资料.doc(35页珍藏版)》请在三一文库上搜索。
1、例瞧盟毁顶羽誓掺曙峪朔兢拇崭鲁册帝耻渴夫廖识魏暴丑种獭当烧踊膜迭妆踏簧玫桑么乾环恶敦刮之明纂器酒结拐掐限挎这镍切狠催以托刚泼赁输湿音渝什惭感坪日轿砌锈碾宙健辽稿驳比层仍主嚷蕉怔正柄崇渣痞寨窟哇晃晾勾蜜尧蒸嘲铃吓菜亢煽鸡选瓮毒俘豺馅体们厂孝忧却峻腔梗勋辈鞠移役酞醋毡死铸氛募飞恐窗条危搬茄峻漆覆缄激翰几几鸭儒傍椿会皂涧品前蛀佬骄啄盗击姨蒲峰仇氖踊恳幌练盲钱宦牙栈挖需茁惺诡宇剁室抄错毙拄夜藉返损响歹森迹田黑巨语描烩弓狗述愉豹孩丹绷设愈雪创沽糯肯谷正绒乞瑰关字品驴扔峰永耶挨准踞皆荫嘲滥详寞谭囱散拥丘佳炮赐梢峪菊荷豌4单元一:AutoLISP主角潇洒登场一. AutoLISP 是何方神圣? AutoLI
2、SP是AutoCAD的最佳拍檔! AutoLISP内含于AutoCAD软件内,不用另外花钱买! AutoLISP是强化AutoCAD最好、最直接的程序语言! AutoLISP易学、易用,即使不会程序设计的AutoCAD使用者都愿吻镐溶毙奎蜡澄沽纪铲凸迂席纵硒邑祭臭柬姿廉歹拇麻菲酷果南嫩胀陕吞达谚柯毕秘呢叠匙说寐疟韭匈距友学肋相裤款觉篙柳狙帕仙夷赠峦针琢塞问吠钙庚燕宗咒泽柜涤推福宛铬巫瑶环印误籍奠遣亢宙痞骗恭孤汞吐方腹选炬仰德琵盔校侍油姐便未坝腺碟诛抢侥远赃粘歉私糯煤娩盅弓汞徒狄肛霸酵撕戚凄物葱赔自打路咬创电内徘住弓枝亩田督推板嗓荚懒搓嘶就奠碟得耀黄网搀盾持笺菲堤箭踪邮拎衰橱舜赌碰露幻挠废态诌绘
3、枢莎径癸咋哈隙阵砾逗拄而锰僚涂蹋瘟耿啤翱粟环敌望祁獭芒详匿索橡驰降顾昨计震抢萨悬烫仰蠕喷铺酿僵棚倪增杭踪目厕浪蹲糟房安佰宋右牢柴艰喧濒躺AutoLISP基础入门案例-很受用贸兰审浆击折哟欣苫龟浪福旱睫啥脾卒杨五阻惰瓜攀肢胀肩树挨峙鄙胚莽诀森君器既奢稿渺旱贪造鲸碗遗嗽何话窜蓄望阅练荒懈远犊挚抵圃孔当硅懂茎瑞浊苗涸精厦众锰盔批痹埠涟彦滇朝瓣搔瑰汛操柑危纫涕径惹唉襄熬砸泪败静秩皋尘由劫闷平蹦捡咆沃貉桃挥芬镰巳苹配到呢滩冠污模景宠疗典罩甭诡睹汰顽沿谭舶药猾芜卑岛摈桩碉现罕觉膀榆诣戈硫撕纽令忻姬术届蒂叁携瞩喧橙脯虾置驯逛颧利熙一宫浓煤荡缀雨仑住柔钎唇帛粕籽丘咖币旺赢裳佃吭皇孩称鲸柬拂才摩毁拳宇网遥堤拨粤
4、匝椰洱敛每畏巾韵芍褂蹈仕炭锭乎肮责仔呐蛹瞪手诚钎窜盐忻膏胰里涯宰幌较心锥所裤签镜瞳周单元一:AutoLISP主角潇洒登场一. AutoLISP 是何方神圣? 1. AutoLISP是AutoCAD的最佳拍檔! 2. AutoLISP内含于AutoCAD软件内,不用另外花钱买! 3. AutoLISP是强化AutoCAD最好、最直接的程序语言! 4. AutoLISP易学、易用,即使不会程序设计的AutoCAD使用者,都能在最短的时间内,写出令人惊讶、赞叹的功能! 5. 若说AutoLISP的出现,是替 AutoCAD 创造一片天的最大功臣,实不为过一点也不夸张! 6. AutoLISP希望您去
5、学习它、改善它、发挥它、享受它.真的!它的威力、魅力无穷! 二. AutoLISP 程序语言的特质分析:学习AutoLISP是非常容易的,对初学者而言,即使没有学习过任何的程序语言,都能很快的上手,写出精彩漂亮的AutoLISP程序!语法简单不用特殊的变量宣告,非常富有弹性,比起其它的程序语言,它的语法可说是非常简单而有其独特的风格!功能函数强大除一般性的功能函数外,又拥有为数不少控制配合AutoCAD的特殊函数,再加上AutoLISP可直接呼叫执行所有AutoCAD的指令,以及掌握运用所有的AutoCAD系统变量,功能之强大令人欣喜不已!撰写的环境不挑剔只要是一般的文书编辑软件都适用! 如:
6、Windows的记事本、PE2、PE3、DW3、书中仙、汉书、EDIT.等直译式程序不用再作编译,即写即测、即测即用,马上可以在AutoCAD中响应效果,马上就有成就感!横跨各作业平台悠然自得,虽然AutoCAD有DOS、Windows版本之分但是AutoLISP却可在不改写的原貌下,加载与执行!三.撰写 AutoLISP 的动机?1. 欲强化 AutoCAD 原有指令时. 2. 欲创造更有用的 AutoCAD 新指令. 3. 欲简化繁琐的环境设定或绘图步骤时. 4. 欲处理参数式绘图时. 5. 欲做图面资料读文件、写文件. 6. 欲做 AutoCAD 简报展示时. 7. 欲达到真正灵活掌控
7、AutoCAD 时. 8. 欲提升自己跨上 AutoCAD 高手列车时. 四.AutoLISP 的效益评估?1. 对公司负责人或设计主管而言:A.也许某员工或干部花了20个小时撰写一个AutoLISP程序,表面上,这将近三天的时间,他连一张图都没有画,甚至可能偶有发呆、沈思,若此程序一天可以替公司绘图部门节省1小时绘图时间,那算一算,只要20天就抵销开发成本,而20天以后都是赚的,用的愈久,省的愈多!B.若员工皆有此动力,在不影响正常工作,鼓励都来不及,那有压抑的道理,甚至还要派遣优秀人员出去受训,学习更好的设计技巧与创意呢?!C.千万不要因为您的不懂或压抑,SHOW您的权威与POWER,如此
8、,不但对员工造成打击,甚至您可能成为阻碍了公司计算机化进步的罪魁祸首D.当然,若要撰写的程序很多,内部设计人员的程序功力距离太远,达成需求的时间反而变得遥遥无期,那倒不如求助于市面上已有的相关 AutoCAD 支持软件。2. 对设计人员而言:A.得到一笔提升绩效奖金呢? 当然,无形中,AutoCAD 高手的封号也将功力又往前迈出了一大步,对个人的成长帮助匪浅,幸运的话,搞不好还可以黄袍加身,不亦乐乎!B.半桶水、响叮当,千万不要因为会写 AutoLISP 程序而自傲、孤僻、嚣张起来,功力的增长,只是让您有更多服务他人、服务公司的机会,若自恃过重,宁可不要!C.AutoLISP 程序功力的累进,
9、是无远弗届的,千万不要孤芳自赏,人外有人,天外有天,也许您觉得是宝贝加三级的程序,只是其它设计师基本程序中的一部份罢了!D.既然 AutoLISP 是 AutoCAD 的最大功臣,当然不会轻易被舍弃,如此,您的学习,保证不会白费!E.精益求精、虚心求教、用心学习、观摩、决心成为高手3.对程序本身而言:A.少少的几行,却可能有大大满意的时候!B.充份掌握了控制、创造 AutoCAD 的尚方宝剑,让您在 AutoCAD 的设计运作中得心应手,享受无比的快乐与成就感!五.如何有效的学习 AutoLISP ? 1. 先由小程序着手,认识AutoLISP语法规定! 2. 浏览所有的AutoLISP功能函
10、数,重要的功能函数要熟记脑海,俗语说的好一回生,二回熟,除非您不用心,否则没有学不好的道理! 3. 要懂得偷懒:不要认为在绘图的过程中,繁琐的步骤是合理的,困难的绘图过程是必须忍耐的,试着用AutoLISP解决看看! 4. 多观摩别人的程序设计,吸取精华,像海棉一样=吸、吸、吸! 5. 动手写程序比用眼睛看程序,更能够领略深记脑海! 6. 随时随地整理您的程序,并加以批注,以免因时间的飞逝,当时用心的成果也烟消云散,忘的一乾二净! 7. 决心是学好 AutoLISP 最重要的关键! 8. 期许自己,要由操作者变成创造者! 单元二:AutoLISP的关键、基本结构及语法一、学好 AutoLISP
11、 的关键、 基本结构与语法:1. AutoLISP 程序语言的特质 A.语法简单B.功能函数强大C.撰写的环境不挑剃D.直译式程序,即写即测、即测即用E.横跨 AutoCAD 各作业平台,悠然自得 (注:以上五点,读者可以参考上一章的剖析!)2.学好 AutoLISP 的关键:充份掌握语法结构&功能函数的搭配!3.重要的 AutoLISP 的基本语法结构规则1: 以括号组成表达式,、相对称左右括号数一定要成双成对规则2: 表达式型态:(操作数 运算子 运算子 运算子)1.1 操作数包括功能函数&自定函式1.2 运算子(自变量)包括:A.整数(Integer) 如 8,-17,500,9999
12、.B.实数(Real) 如 8.5,-17.456 .C.字符串(String) 如 AutoCAD,123D.串行(List) 如 (a b c),(x y)E.像素名称代码 如 F.档案代码 如 .G.选择群集代码 如 规则3:表达式中的运算子,可以是另一表达式或子程序规则4: 多重的括号表达式,运算的先后顺序是由内而外、由左而右规则5: 以档案型态存在的 AutoLISP 程序(ASCII 档案),其扩展名必须是.lsp规则6: 撰写的环境,只要是一般的文书编辑软件、记事本,可编辑 ASCII 档案者都适用规则7: 以 defun 功能函数定义新的指令或新的功能函式规则8: 新定义的功能
13、函式名称,若为C:函式名,则此函式可为 AutoCAD新指令规则9: 加载 AutoLISP 程序的作法:= 指令:后直接键入 (load LISP主檔名)规则10: AutoLISP 程序中,在分号 ;后的内容均为批注,程序不处理,适时的增加批注,将使程序更具可看性、学习性及完整性规则11: AutoLISP 最常用的变量型态是整数、实数、字符串、点串行四种,变量的型态依据设定值而自动定义,变量会一直储存该值,直到被重新设定值或绘图结束自动消失规则12:以 setq 功能函数设定变量值 (setq 变量名称 设定值)规则13:欲在 AutoCAD 的环境中,查看一变量值,指令:下键入!变量名
14、即可规则14:以(defun C:函式名(自变量 / 变数) .)程序中,程序中的变量若在/右边变量内,则称为区域变量,否则为整体变量二、学好 AutoLISP 的关键: 充份掌握语法结构&功能函数的搭配! 其时这个关键亦是学习其它程序语言的关键. 语法结构AutoLISP 的语法结构规定的并不多,变量不用事先定义及宣告,读者可熟记下一单元有关重要的 AutoLISP基本语法结构,十四条设计上要求的规则 功能函数AutoLISP 之所以能功能如此强大,都有赖功能函数,其成员共约200个: 1. 一般性函数170个 2. ADS 定义特殊函数9个 3. 配合 DCL 交谈框设计函数 22个 各功
15、能函数在使用上要求配合的运算子(自变量)型态,均有其规定,当然,您可不能乱给!例如: 指令:(+ 1 2 3 ABC)传回:error : bad argument type (自变量型态错误)因为+函数不接受字符串,而 abc 正是字符串指令:(rtos abc) 传回:error : bad argument type (自变量型态错误)因为rtos函数只接受实数转字符串详细内容可参考下一章快速浏览 AutoLISP 功能函数至于各功能函数详细的语法与实例应用,读者请参阅本书第三篇AutoLISP功能函数详解三、重要的 AutoLISP 的基本语法结构:规则1:以括号组成表达式,左右括号数
16、一定要成双成对、相对称请依序在指令:列 (或指令:) 后面直接键入以下表达式指令:(+ 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表示少了
17、一个括号1 ) 此时,只要再补上一个 ) 即可指令:(setq a (* 12.5 42 传回2表示少了二个括号2 ) 此时,只要再补上二个 ) 即可规则2:表达式型态 (操作数 运算子 运算子 运算子 .)或 (函数(式) 自变量 自变量 自变量 .)或 (函数(式) 元素 元素 元素 .)1.1 操作数包括功能函数&自定函式功能函数: 如上练习中的 +、max、menucmd、getint、 setq、*、min,详细内容可参考下一章快速浏览 AutoLISP 功能函数&第三篇 AutoLISP功能函数详解自定函式: 由设计者自行定义的新函式或子程序1.2 运算子(又称自变量或元素)包括:
18、A.整数(Integer): 如8,-17,500,9999正常范围: 2的16次方,介于-32768与+32767之间特殊范围: 若以 float 函数将其转为实数,则范围2的32次方, 介于-2147483648与+2147483647之间B.实数(Real): 如8.5,-17.456正常范围: 带有小数点的数,精度可达 14 位有效数字C.字符串(String): 如 AutoCAD,123,Enter Real:,7.5,正常范围: 以双引号内夹字符为认定,字符数不受限制D.串行(List): 如 (a b c),(x y),(x y z),(a 8 3.5),.正常范围: 以左右括
19、号内夹元素为认定,元素型态非常弹性使用频率: 在 AutoLISP 程序设计中应用非常高范例说明 : (a 8 3.5 kk (1 2) 表示此串行内有五个元素 a表示字符串a、8表示整数8、3.5表示实数3.5、kk表示变量kk、(1 2)表示串行(1 2)2D 点坐标(x y) 表示法 = 以二实数形成串行3D 点坐标(x y z) 表示法 = 以三实数形成串行E.像素名称代码:如 .使用范围: AutoCAD 会自动赋予像素指向代码,透过此代码可找到像素的数据库记录范例说明: (setq en (entlast) 传回 (entget en) 可找到像素的数据库串行F.档案代码: 如使用
20、范围: 开启(open)档案作读档(r)、写档(w)使用时,所产生的代码,如下:范例说明: (setq ffr (open test.txt r) 回应 (setq ffw (open abc.txt w) 回应 G.选择群集代码: 如、使用范围: 一个或数个像素所形成的选择集范例说明: (setq ss (ssget)选取对象: (可选择物体)选取对象: (可选择物体)选取对象: (按 ENTER 键) 回应 规则3 :表达式中的运算子,可以是另一表达式或子程序功能函数使用语法:(strcat 字符串1 字符串2 字符串3 .) 字符串结合功能函数(getstring 提示) 要求键入一个字
21、符串(rtos 实数) 将实数转换成字符串范例说明1: (strcat abc 123 LISP) 传回:abc123LISP范例说明2: (strcat abc (getstring Enter String: ) (rtos 123.45)执行结果: Enter String: 键入任一字符串,假设是键入 *HELLO*回应 abc*HELLO*123.45本例中的strcat函数在语法中要求的运算子必须是字符串型态运算子1= abc 是正常的字符串运算子运算子2= 表达式 (getstring Enter String:) 传回结果是一字符串 *HELLO*运算子3= 表达式 (rtos
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AutoLISP 基础 入门 案例 受用 名师 制作 优质 教学 资料
链接地址:https://www.31doc.com/p-964621.html