ScmTools 发表于 2013-5-4 16:24:20

判断多段线是否有圆弧

本帖最后由 ScmTools 于 2013-5-10 22:42 编辑

判断多段线是否有圆弧(凸度=0)
**** Hidden Message *****

kwok 发表于 2013-5-4 18:34:51

支持一下,回复,学习

cuyongping 发表于 2013-5-9 09:36:15

学习学习!

Free-Lancer 发表于 2013-5-9 10:10:53

Lisp 版(defun chkplarc        (el)
(not
    (zerop
      (apply '+
             (mapcar 'cdr
                     (vl-remove-if-not '(lambda (x) (= (car x) 42)) el)
             )
      )
    )
)
)

sachindkini 发表于 2013-5-9 14:45:59

dear sir,


reply

wangdaobin 发表于 2013-5-21 04:42:33

非常多谢了!!!!!

yoyoho 发表于 2013-5-21 07:17:54

感谢分享学习了!

Lisphk 发表于 2013-5-26 12:31:31

Free-Lancer 发表于 2013-5-9 10:10
Lisp 版(defun chkplarc        (el)
(not
    (zerop


程序最好把 在哪个顶点开始有圆弧,并且圆弧的信息给得到,最好了。

Free-Lancer 发表于 2013-5-26 13:42:35

Lisphk 发表于 2013-5-26 12:31
程序最好把 在哪个顶点开始有圆弧,并且圆弧的信息给得到,最好了。

(defun plarcinfo (el / i lst bl)
(setq i -1)
(if (setq
lst (vl-remove
       nil
       (mapcar
(function
    (lambda (y)
      (setq i (1+ i))
      (if (zerop y)
      nil
      i
      )
    )
)
(setq bl
         (mapcar
    'cdr
    (vl-remove-if-not '(lambda (x) (= (car x) 42)) el)
         )
)
       )
   )
      )
    (mapcar 'cons
   lst
   (mapcar '(lambda (x y)
         (setq e (cdr (assoc -1 el)))
         (list (vlax-curve-getpointatparam e x)
      y
      (vlax-curve-getpointatparam e (1+ x))
         )
       )
      lst
      (vl-remove 0. bl)
   )
    )
)
)

GTJ116600 发表于 2013-5-30 10:03:09

判断多段线是否有圆弧,并且得到多段线的圆弧相关信息

q3_2006 发表于 2013-6-16 13:14:22

还不能看哦,关注!

ScmTools 发表于 2013-6-16 13:34:15

q3_2006 发表于 2013-6-16 13:14
还不能看哦,关注!

在论坛多发帖,很快你就可以看到代码了

Lispboy 发表于 2013-7-1 09:16:22

XDRX_API提供了一个函数xdrx_polyline_HasBulges

Free-Lancer 发表于 2013-7-1 12:02:01

加深下印象
(defun hasbugle (el)
(vl-some '(lambda (x) (not (zerop x)))
    (mapcar 'cdr
   (vl-remove-if-not el '(lambda (x) (= (car x) 42)))
    )
)
)
(defun hasbugle (el)
(vl-every 'zerop
   (mapcar 'cdr
      (vl-remove-if-not el '(lambda (x) (= (car x) 42)))
   )
)
)

ayl1004 发表于 2013-7-1 21:04:12

Free-Lancer 发表于 2013-5-9 10:10
Lisp 版(defun chkplarc        (el)
(not
    (zerop


这好象不对吧,凸度应该有正负的
应该直接用 and
页: [1] 2
查看完整版本: 判断多段线是否有圆弧