你的李没有问题。我只是好奇一种不同的方法。完全是学术性的。
- (defun c:AvMid (/ ss lst)
- ;; Alan J. Thompson, 05.24.10
- (if (setq ss (ssget '((0 . "ARC,LINE,*POLYLINE"))))
- ((lambda (i)
- (while (setq e (ssname ss (setq i (1+ i))))
- (setq lst (cons (vlax-curve-getPointatParam
- e
- (/ (+ (vlax-curve-getEndParam e)
- (vlax-curve-getStartParam e)
- )
- 2.
- )
- )
- lst
- )
- )
- )
- (entmakex
- (list '(0 . "POINT")
- (cons 10
- (mapcar
- (function
- (lambda (f)
- (/ (apply (function +) (mapcar (function f) lst))
- (length lst)
- )
- )
- )
- (list car cadr caddr)
- )
- )
- )
- )
- )
- -1
- )
- )
- (princ)
- )
|