AutoLISP与AutoCAD的通信.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AutoLISP与AutoCAD的通信

AutoLISP与AutoCAD的通信 3.1 command函数 调用格式: (command: [命令][参数]…) 3.1.1 参数及规则 1). 调用AutoCAD的命令及其子命令和选择项都用字符串表示, 其中字符大小写均可。 2). 数值变量可以写成数本身,也可以写成字符串的形式。 3). 对于点常数有两种表示方法,即:‘(0.4 5)和 “0.4,5”;如果点的坐标x、y为变量,则必须表为: (list x y)。 4). Command调用参数中的空串“”,等效于在键盘上按了一次回车 键或空格键。 5). 如果调用(command)时不带任何参数,则等效于Ctrl-C. 6). Get族函数不能用作command函数的参数。 3.1.2 应用举例 1). 编程绘制任意倾斜的矩形 (defun boxa (l w ang) (setq bp (getpoint \nEnter an base point:)) (command ucs o bp ucs z ang) (command rectangle 0,0 (list l w)) (command ucs w) );end 2). 编程绘制给定图号的图幅 (defun tk () (initget 5 5 4 3 2 1 0) (setq n (getint \nEnter No.5 4 3 2 1 0:)) (cond ((= n 5) (setq l 210 w 148 a 25 c 5)) ((= n 4) (setq l 297 w 210 a 25 c 5)) ((= n 3) (setq l 420 w 297 a 25 c 5)) ((= n 2) (setq l 594 w 420 a 25 c 10)) ((= n 1) (setq l 841 w 594 a 25 c 10)) ((= n 0) (setq l 1189 w 841 a 25 c 10)) );cond (command rectangle 0,0 (list l w)) (command rectangle (list a c) (list (- l c) (- w c))) );end 3). 编程绘制五角星 (defun star_5 (r) (command color 1) (setq cp (getpoint \nCenter point:)) (setq pt1 (polar cp (* 0.017453 18) r) pt2 (polar cp (* 0.017453 54) r) p2 (polar cp (* 0.5 pi) r)) (setq p1 (inters cp pt2 pt1 (polar pt1 pi r)) p3 (polar cp (* 0.017453 126) (distance cp p1))) (command pline cp p1 p2 p3 cp p2 ) (command bhatch p s (polar cp (* 0.017453 70) 10) ) (command color 2) (command bhatch p s (polar cp (* 0.017453 95) 10) ) (command array all p cp 5 ) (princ) );end 程序运行结果: 3.1.3 应用command函数的注意事项 Command函数调用中的参数类型、个数与顺序必须与AutoCAD命令严格对应; 在command函数中允许使用PAUSE,以暂停接受数据。 如:(command “line” pause pause “”),除少数几个命令外几乎所有的AutoCAD命令均可用于command函数的调用; Command函数调用中的命令及其选项等字符串参数中不能包含有空格,因为字符串中空格也是有效的; 需要回车才能结束AutoCAD命令时,可在command函数的最后一个参数位置设为空串,即:“”。 为使AutoLISP编程定义的命令函数执行时其执行过程不显示出来,可把系统变量cmdecho的值设置为零。 3.2. 用户输入函数 3.2.1 交互输入函数(get族函数) 3.2.2 字符串输入函数 3.2.3 输入控制函数initget 调用格式:(initget [位值] [关键字]) 功能:为随后的get族函数(getstring除外)确立关键字,并控制输入值的范围。 举例: Command:(setq a (getint “\n Enter an integer:

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档