autolisp的绘图功能

autolisp的绘图功能

ID:36322919

大小:253.81 KB

页数:15页

时间:2019-05-09

autolisp的绘图功能_第1页
autolisp的绘图功能_第2页
autolisp的绘图功能_第3页
autolisp的绘图功能_第4页
autolisp的绘图功能_第5页
资源描述:

《autolisp的绘图功能》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第七章AutoLISP的绘图功能7.1command函数执行一条或多条AutoCAD命令,实现AutoLISP的绘图功能,主要接口。(command[arguments]...)参数argumentsAutoCAD命令、选项或表达式。返回值nil例题:CAD操作方式line指定第一点:1,1指定下一点或[放弃(U)]:1,5指定下一点或[放弃(U)]:命令:AutoLISP操作方式(command"line"'(11)'(15)"")command函数参数书写规定命令名和选项用字符串表示,大小写皆可。数值常数(整数、实数)可以写成数本身,也可写成字符串。点常数可以写成引用表或字符串,例如‘(

2、23)或“2,3”空字符串("")表示从键盘键入ENTER键,可以终止一个需要不定个数数据的CAD命令,或接受缺省值。例题:(command"text""m"".1,1"3.00"AutoCAD")“0.1,1"".1,1"'(0.11)正确”0.11"'(.11)错误不带参数调用command相当于键入ESC键,这样可取消大多数AutoCAD命令,两个不带参数调用command,可取消所有AutoCAD命令。也可以用符号^取消AutoCAD命令例如:(command^^"text""m"".1,1"3.00"AutoCAD")符号pause暂停AutoCAD命令,等待用户输入,它表示一个反

3、斜杠。若用反斜杠表示,应写成"\"。例如:(command"line"pause"\""")等待用户输入两点画一条线段若一个期待输入字符串(如TEXT命令)或属性值的命令碰到pause,那么仅当系统变量"textval"置为非零时才会引起暂停,否则pause符号的值(反斜杠)被视为输入文本,不会引起暂停。(setvar"texteval"1)(command"txet""r"pause30pause)右对齐右对齐点字高转角等待输入字符(setvar"texteval"0)(command"txet""r"pause30pause)文本为反斜杠不建议采用暂停的办法等待用户输入,输入错误导致

4、程序出错。等待用户输入的getxxx函数不能用在command函数中,另外在command函数中不能使用sketch(绘草图)、SCRIPT(执行一组命令)命令。如果在函数中使用SCRIPT命令,它必须是出现在该AutoLISP程序的最后。同样,如果在acad.lsp或MNL文件中使用command函数,则只能在defun表达式中调用。应使用S::STARTUP函数定义在绘图任务开始时就要执行的那些初始化命令。例题(initget1)(setqpt(getpoint"输入文本起点:"))(command"text""m"pt3.00"AutoCAD")(command"text""m"(

5、progn(initget1)(setqpt(getpoint"输入文本起点:")))3.00"AutoCAD");错误一个command函数调用可以执行多条CAD命令;多个command函数调用可完成一条CAD命令。例题:(command"line"'(11)'(15)"""line"'(22)'(28)"")(command"line")(command'(11))(command'(15)"")系统变量"cmdecho"为0,通过command函数执行的cad命令不会在命令行中显示;系统变量"blipmode"为0,可以消除命令执行过程中小十字线的显示如果开发的应用程序运行在外文版

6、的AutoCAD,由command函数发出的命令必须加下划线前缀,这样命令就可以被转换。例如(command"_redraw")如果要避免命令被重新定义,可以加圆点前缀。圆点前缀和下划线前缀可以任意组合。例如(command"._redraw")或(command"_.redraw")command函数调用中的命令和选择项不允许有空格例如(command"line""5,6""6,0""")错误要注意的是,如果从VisualLISP中使用command函数,控制并不会转移到AutoCAD中。如果命令要求用户输入,则可以在控制台窗口中看到返回结果(nil),但AutoCAD将等待输入,必须手动

7、激活AutoCAD并响应提示。在这样做以前,任何后续命令都会失败。;画一个矩形(defunabcd(/p1p2p3p4)(initget1)(setqp1(getpoint"输入一点:"))(initget1)(setqp3(getpointp1"输入对角点:"))(setqp2(list(carp3)(cadrp1)(lastp1)))(setqp4(list(carp1)(cadrp3)(last

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。