Ea 发表于 2005-10-30 00:07:00

比较两个多义线是否“相同”,包括旋转或者镜像后的
(defun sampl (e1 e2 / getinfo getdis)
(defun getinfo (lst)
    (vl-remove-if-not
      (function
    (lambda (x) (vl-position (car x) '(39 40 41 42 43)))
      )
      lst
    )
)
(defun getdis    (e / n m dl)
    (setq n (fix (vlax-curve-getendparam e))
      m 0.
    )
    (repeat n
      (setq dl (cons (vlax-curve-getdistatparam e m) dl)
      m(1+ m)
      )
    )
    dl
)
(if (and (= (vlax-curve-getendparam e1) (vlax-curve-getendparam e2))
       (= (vlax-curve-isclosed e1) (vlax-curve-isclosed e2))
      )
    (and (equal (getinfo (entget e1)) (getinfo (entget e2)) 1e-10)
   (equal (getdis e1) (getdis e2) 1e-7)
    )
)
)

gxlsin 发表于 2007-1-18 10:38:00

页: 1 [2]
查看完整版本: [原创]比较两多义线图元是否相同