第十四章 AutolISP初步 ( Command“line” Ptl Pt2“”) AutOCAD LINe命令 第一点 Pt2… ……第二点 用于返回 注匐在 AutoCAD r12之前的版本中,不能使用 Command函数执行 AutoC0.D0的Por 命令。例如,( Command“plot”…)是无效表达式。在 AutoCad2000、R14和R13中 才可以通过 Command函数使用plot命令( Command“plot”…)。 Command函数不能使用 AutoCaD的 DTEXT或TEXT命令输入数据。(可以用 Command 函数发出 DTEXT及TEX命令,还可以输入文本高度及旋转角度,但却不能在 DTEXT或TEXT 命令提示文本输入时输入文本)。 不能通过 Command函数使用 AutoLISP的输入函数。这些输入函数为 getpoin t、 getangle、 getstring及 getint。例如,( Command“ setPoint…)和( Command“ getangle…) 均为无效函数。如果程序中包含这样的函数,在其被装入时就会显示一条错误信息 例编写一个程序,该程序将提示用户选择三角形的三个顶点,并通过它们绘出如 图12.1所示的三角形。 多数程序都包含三个基本组成部分,即输入、输出及处理过程。其中处理过程的功 能为根据给定的输入来产生预期的输出(见图12-2)。 编写程序前,必须确认这三部分。 本例中,程序的输入为三个点的坐标,期望的输出为一个三角形。用以生成该三角 形的处理过程为:由P1到P2、由P2到P3、到P3到P1各画一条直线。弄清这三部分就 会使编程过程更清晰 处理过程对于程序的成功起着很重要的作用。有时它很简单,有时却包含复杂的计 算。如果程序包含大量运算,就应该把它分成若干个程序(甚至是子程序),并按逻辑的 顺序和系统的顺序安排好它们。同时请记住,程序需要随时修改,也很有可能被其他程序 员修改。因此,应尽可能使程序清晰、明了,以便其他程序员了解程序在其执行过程中的 不同阶段在做些什么。如果可能,请给出草图,并且说明要点 输入 输出 P1点的位置 P2点的位置 角形P1,P2,P3 P3点的位置 处理过程 从P1到P2画线 从P2到P3画线 从P3到P1画线 下面的文件是例1的 AuotlISP程序清单。右边的行号只为方便引用,并不是程序的 一部分。 this program will prom ter th of a triangle from the keyboard or select three points 2第十四章 AutoLISP 初步 278 (Command“line” Pt1 Pt2“”) “line” ……………AutoCAD LINE命令 Pt1……………………第一点 Pt2……………………第二点 “”…………………用于返回 注意 在 AutoCAD R12 之前的版本中,不能使用 Command 函数执行 AutoCAD 的 PLOT 命令。 例如,(Command“plot”…)是无效表达式。在 AutoCAD 2000、 R14 和 R13 中, 才可以通过 Command 函数使用 plot 命令(Command“plot”…)。 Command 函数不能使用 AutoCAD 的 DTEXT 或 TEXT 命令输入数据。( 可以用 Command 函数发出 DTEXT 及 TEXT 命令,还可以输入文本高度及旋转角度,但却不能在 DTEXT 或 TEXT 命令提示文本输入时输入文本)。 不能通过 Command 函数使用 AutoLISP 的输入函数。这些输入函数为 getpoint、 getangle、getstring 及 getint。例如,(Command“getPoint…)和(Command“getangle…) 均为无效函数。如果程序中包含这样的函数,在其被装入时就会显示一条错误信息。 例 1 编写一个程序,该程序将提示用户选择三角形的三个顶点,并通过它们绘出如 图 12.1 所示的三角形。 多数程序都包含三个基本组成部分,即输入、输出及处理过程。其中处理过程的功 能为根据给定的输入来产生预期的输出(见图 12-2)。 编写程序前,必须确认这三部分。 本例中,程序的输入为三个点的坐标,期望的输出为一个三角形。用以生成该三角 形的处理过程为:由 P1 到 P2、由 P2 到 P3、到 P3 到 P1 各画一条直线。弄清这三部分就 会使编程过程更清晰。 处理过程对于程序的成功起着很重要的作用。有时它很简单,有时却包含复杂的计 算。如果程序包含大量运算,就应该把它分成若干个程序(甚至是子程序),并按逻辑的 顺序和系统的顺序安排好它们。同时请记住,程序需要随时修改,也很有可能被其他程序 员修改。因此,应尽可能使程序清晰、明了,以便其他程序员了解程序在其执行过程中的 不同阶段在做些什么。如果可能,请给出草图,并且说明要点。 输入 输出 P1 点的位置 P2 点的位置 三角形 P1,P2,P3 P3 点的位置 处理过程 从 P1 到 P2 画线 从 P2 到 P3 画线 从 P3 到 P1 画线 下面的文件是例 1 的 AuotLISP 程序清单。右边的行号只为方便引用,并不是程序的 一部分。 ;this program will prompt you to enter three points 1 ;of a triangle from the keyboard ,or select three points 2