帮助从中的某个点进行跟踪
长期潜伏者,第一次海报。我Lisp程序。下面是我试图做的过于简单化,但问题就在这里。
我试图创建一系列点,同时从“pt1”跟踪。它将第一次工作,但随后结束命令。
(DEFUN C:测试()
(虽然
(setq pt1(列表0)
(命令“POINT”“\u tt”pt1 pause)
)
(普林斯)
)
如果我删除{u tt“pt1},这是告诉它跟踪的内容,该命令将根据需要连续运行,但如果我告诉它跟踪,它会工作一次,然后停止。
请帮忙? 如果我理解正确,可能:
(defun c:foo (/ bp pt1)
(setq bp (list 0 0 0)
(while (setq pt1 (getpoint bp "\nNext Point: "))
(command "_.POINT" "_non" pt1))
(prin1))
未测试
-大卫 谢谢David,但我需要它从“point”命令中跟踪,而不是在创建点之前。 David的代码从一个点(您要求的)开始跟踪。。也许您希望将p1更改为循环中拾取的最后一个点?以下是我的库中的一些旧代码:
(defun c:mdist (/ d p1 p2 v)
(setq d 0)
(while (and (or p1 (setq p1 (getpoint "\nSpecify start point: ")))
(setq p2 (getpoint p1 "\nSpecify next point: "))
(setq d (+ d (distance p1 p2)))
(setq v (append v (list p1 p2)))
(setq p1 p2)
)
(grvecs (append v '(1)))
(princ (strcat "\nRunning total: " (rtos d)))
)
(princ)
)
还是这个?
(defun c:test (/ p1 p2)
(while (and (or p1 (setq p1 (getpoint "\nSpecify start point: ")))
(setq p2 (getpoint p1 "\nSpecify next point: "))
)
(entmakex (list '(0 . "point") (cons 10 p1) '(8 . "point")))
(setq p1 p2)
)
(princ)
) 你知道(command)总是返回nil吗。(AFAIK)? 请阅读代码发布指南,并编辑代码以包含在代码标签中。
Your Code Here=
Your Code Here
页:
[1]