正在加载图片...
第十四章 AutoLISP初步 by using the screen cursor. Pl, P2, P3 are triangle corners. (defun: C: triangl O (setq pl(getPoint " n Enter first Point of triangle: ") (setq p2(getpoint " n Enter second Point of triangle (setq P3(getPoint " n Enter third Point of triangle: ") 3456789 ( Command“line”PlP2P3“C”) 说明 第1-3行 前三行为注释行,用于描述程序中的函数。这几行很重要因为有它们,编辑程序会变 得简单一些。可以在任何必要的时候使用注释。所有的注释行都必须以分号(;)开头 当程序装入时这些行会被忽略。 第4行:行为空行,用于分隔程序与注释部分。空行还可以用来分隔程序的不同模块。 这样便于区分程序的不同部分。空行对程序没有影响 第5行:( defun c: triang10 本行中, defun为一个 AutoLISP函数,它定义了函数 TRIANGI。 TRIANG1为该函数的 函数名。由于此函数名前带有C:,因此该函数可以像 AutoCAD命令一样被执行。若没有 C:, TRIANGI命令只能置于圆括号中执行( TRIANG1)。此函数带有三个全局变量(P1,P2 3)。第一次编写 AutolISP程序时,保持变量为全局变量是个好习惯。这是因为装入并运 行程序后,可以通过在 AutoCAD命令提示行中输人感叹号(!)并在其后输入变量名来检 查变量的值( Command:!P1)。一旦程序通过测试并运行正常,就应该使它们成为局部变 E(defun c: TRIANG1(/P1 P2 P3) 第6行:( setq p1( setpoint“\ n Enter first point o f triangle:”)) 本行中, setpoint函数暂停程序的运行,允许用户输入三角形的第一个点。提示信息 Enter first Point of triangle显示在屏幕的提示区内。可以通过键盘输入该点的坐 标,也可以用屏幕光标选择该点。随后setq函数将这些坐标赋予变量Pl。\n的作用是 回车,其后的表达式将被打印在下一行上(“n”代表“ newi ne”) 第7行和第8行:( setg P2( setpoint“\ n Enter second Point of triangle:”) 及( setq P3( setpoint“\ n Enter third point of triangle:”)) 这两行提示用户输入三角形的第二个顶点和第三个顶点,随后把这些坐标赋予P2和 P3。\n的作用是回车,因此输入提示显示在下一行中。 第9行:( Command“line”PIP2P3“C”) 本行中, Command函数用来输入 AutoCAD的line命令,然后从P1到P2,P2到P3各 画一条直线。“C”(表示“ close”选项)把最后一点P3与第一点Pl连接起来。所 有的 AutoCad命令及选项在 AutoLISP程序中使用时都必须置于双引号内。变量P1、P2.P 3之间用空格分隔。 第10行 本行仅包含一个用于表明函数 TRIANG1定义完成的右括号。该括号也可以写在上一行第十四章 AutoLISP 初步 279 ;by using the screen cursor .P1,P2,P3 are triangle corners. 3 4 (defun: C:triang1() 5 (setq P1(getPoint“\n Enter first Point of triangle:”)) 6 (setq P2(getPoint“\n Enter second Point of triangle:” 7 (setq P3(getPoint“\n Enter third Point of triangle:”)) 8 (Command“line” P1 P2 P3“C”) 9 ) 10 说明 第 1-3 行 前三行为注释行,用于描述程序中的函数。这几行很重要因为有它们,编辑程序会变 得简单一些。可以在任何必要的时候使用注释。所有的注释行都必须以分号(;)开头, 当程序装入时这些行会被忽略。 第 4 行:行为空行,用于分隔程序与注释部分。空行还可以用来分隔程序的不同模块。 这样便于区分程序的不同部分。空行对程序没有影响。 第 5 行:(defun C: triang1() 本行中,defun 为一个 AutoLISP 函数,它定义了函数 TRIANG1。TRIANG1 为该函数的 函数名。由于此函数名前带有C:,因此该函数可以像 AutoCAD 命令一样被执行。若没有 C:, TRIANG1 命令只能置于圆括号中执行(TRIANG1)。此函数带有三个全局变量( P1,P2, P3)。第一次编写 AutoLISP 程序时,保持变量为全局变量是个好习惯。这是因为装入并运 行程序后,可以通过在 AutoCAD 命令提示行中输人感叹号(!)并在其后输入变量名来检 查变量的值(Command:!P1)。一旦程序通过测试并运行正常,就应该使它们成为局部变 量(defun c:TRIANG1(/P1 P2 P3) 第 6 行:(setq P1(getpoint“\n Enter first Point of triangle:”)) 本行中,getpoint 函数暂停程序的运行,允许用户输入三角形的第一个点。提示信息 Enter first Point of triangle 显示在屏幕的提示区内。可以通过键盘输入该点的坐 标,也可以用屏幕光标选择该点。随后 setq 函数将这些坐标赋予变量 P1。\n的作用是 回车,其后的表达式将被打印在下一行上(“n”代表“newline”) 第7行和第 8 行:(setq P2(getpoint“\n Enter second Point of triangle:”)) 及(setq P3(getpoint“\n Enter third Point of triangle:”)) 这两行提示用户输入三角形的第二个顶点和第三个顶点,随后把这些坐标赋予P2 和 P3。\n的作用是回车,因此输入提示显示在下一行中。 第 9 行:(Command“line” P1 P2 P3“C”) 本行中,Command 函数用来输入 AutoCAD 的 line 命令,然后从 P1 到 P2,P2 到 P3 各 画一条直线。“C”(表示“close”选项)把最后一点P3 与第一点 P1 连接起来。所 有的AutoCAD命令及选项在AutoLISP程序中使用时都必须置于双引号内。变量P1、P2. P 3 之间用空格分隔。 第 10 行 本行仅包含一个用于表明函数 TRIANG1 定义完成的右括号。该括号也可以写在上一行
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有