CAD lisp程序注释解析

2025-04-07 03:13:47
推荐回答(3个)
回答1:

(defun c:try( / p);定义命令行命令“try”,定义局部变量“p”
(setq p (getpoint "from point: "));利用交互获得一个点,将该点坐标存入变量“p”当中

(command "PLINE");利用命令行启动“PLINE”多段线命令,

(while p;循环开始,当p不为空(即交互时一直给出下一点)时,无限循环。

(command p);将p的值(用户给出或选定的坐标点)输入至命令行,做为“PLINE”命令的参数。

(setq p (getpoint "to point: "));获取下一点坐标,重新存入变量p中

)
(command);等同于按下空格或回车键,用于结束“PLINE”命令

)

回答2:

(defun c:try (/ p) ;; 定义命令 try 其中有一个参数p
(setq p (getpoint "from point: ")) ;;获得p值,根据一个提示 from point: 用户点击位置 获得点 p(包含坐标值)
(command "PLINE") ;; 调用命令 PLINE ,画线命令
(while p ;;循环语句,p 点不为空,即每次都点击一个位置点
(command p) ;;PLINE命令后的一个点,即画线命令后指定一个点进行画线
(setq p (getpoint "to point: ")) ;; 提示信息=to point: ,提醒用户选取画线到达点
)
(command);; 空命令退出
)
;;此lisp程序是注册一个命令try,实现根据用户连续点击坐标画线的功能,直到用户不再点击为止

回答3:

  在AutoCAD中,有可以编程的工具语言AutoLISP。使用CAD的菜单“工具/AutoLISP/Visual AutoLISP编辑器”,可以使用AutoCAD自带的AutoLISP应用程序插件开发环境。在此开发界面中,对于每一行的程序代码,均可以以“;”分隔写上注释信息文字,以便提示开发者(每句)程序的作用、条件等,以备编制过程中调试、日后理解、借用复制、或改进修订之用。
  如下例所示,是由三个语句组成的获取一个图元的点对数据表的程序段:
  (setq a (entsel "\n请点取一个图元:")) ;从CAD屏幕上拾取一个需要观察其点对表的图元。
  (setq b (car a)) ;获得了实体的图元名。
  (setq c (entget b)) ;获得了该图元的点对表。
  无论是在程序以.lsp直接运行时的临时编译过程中,还是预先进行编译的.vlx等文件中,执行的机器码中,均不包含这些注释文字信息,因此注释的存在及多少,不会影响程序的运行速度,也不会影响对内存的占用量。