你好
我是lisp循环的新手。我想在地形测量平面图的高程上绘制现有地形线。附着在标高顶部的测量图,获取x坐标以单击测量平面中的点,并输入z坐标。平面上的这些(x,z)将在立面上绘制多段线为(x,y)。图纸单位为毫米,平面图上显示的数据为米。
我试着写lisp如下。我真的不知道如何使用“while”列表。
- (defun c:Elevel (/ x1 l1 y1 pt1 x2 l2 y2 pt2)
- (setq x1 (rtos (car (getpoint "\nPick Point1: ")) 2 2))
- (setq l1 (getreal "\nEnter Level1: "))
- (setq y1 (rtos (* l1 1000) 2 2))
- (setq pt1 (strcat x1 "," y1))
- (while (/= nil
- (setq x2 (rtos (car (getpoint "\nPick Point2: ")) 2 2))
- (setq l2 (getreal "\nEnter Level2: "))
- (setq y2 (rtos (* l2 1000) 2 2))
- (setq pt2 (strcat x2 "," y2))
- )
- (command "_pline" pt1 pt2 "")
- (setq pt1 pt2)
- )
- (princ)
- )
提前感谢,
杰克 |