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)
- )
|