soly2006 发表于 2012-4-28 14:46:57

检查折线间有无裂缝,请各高手提供个算法[已解决]

本帖最后由 soly2006 于 2012-5-4 18:15 编辑


如图,在求面积汇总时候(pline,无拟合),有时会手抖,没有捕捉到位,会产生总面积与各分面积不符情况,但裂缝很小,图形又大的情况下肉眼又难以判断,有什么好的办法检查错误地方?
简而言之,内部面积之间没有很好靠一起,造成裂缝。
现在要找出来,谢谢.以下是测试图情况。

soly2006 发表于 2012-4-30 16:55:03

没有人理啊?应该用的人不少啊,给个方法。
再自顶上。

Andyhon 发表于 2012-4-30 17:39:38

行有不得反求诸己
单依楼主所提资料怕是难有回应...
提问可是个大学问啊,问对了有如叩钟之应...

牢固 发表于 2012-4-30 18:24:54

pe m                  

功夫佬 发表于 2012-4-30 20:43:29

看看这个应该是你要的效果,我没有原代码,这是别人工具箱里面的功能,会写像这样的代码的高手,请你们帮一下,谢谢.

soly2006 发表于 2012-5-1 12:30:09

顶上去先,我越发严重怀疑我的表达能力了.
怎么都不能理解啊.
就是两折线间留有缝的地方标示出来。
希望大家关注一下。

Gu_xl 发表于 2012-5-1 12:43:40

表达严重有问题 !首先折线是什么类型的线没说,其次应该给个样图,样图中要有原图和你想要的结果!这样别人才能帮你,否则,自然没人关注!

soly2006 发表于 2012-5-2 13:16:54

再自顶,顶不出来不罢休

Gu_xl 发表于 2012-5-2 15:31:16

soly2006 发表于 2012-5-2 13:16 static/image/common/back.gif
再自顶,顶不出来不罢休


(defun c:tt(/ MKCIRCLE SS L PL FLAG S i)
(defun mkcircle(pt r)
    (entmake (list '(0 . "circle")
                   (cons 10 pt)
                   (cons 40 r)
                   (cons 62 1)
                   (cons 8 "检查标记")))
    )
(setq n 0 nn 0)
(while (progn
           (princ "\n选择要检查的物体:")
           (setq ss (ssget '((0 . "lwpolyline"))))
           )
    (setq s nil n 0)
(repeat (setq i (sslength ss))
    (setq s (cons (ssname ss (setq i (1- i))) s))
    )
    (foreach en       s
      (setq l (vl-remove en s))
      (setq pl (mapcar 'cdr
                     (vl-remove-if-not
                       '(lambda (x) (= 10 (car x)))
                       (entget en))))
      (foreach ptpl
        (setq Flag
             (vl-some
               '(lambda (x)
                  (equal (vlax-curve-getclosestpointto en pt)
                           (vlax-curve-getclosestpointto x pt)
                           1e-6))
               l))
        (if (not Flag)
          (progn
          (mkcircle pt 1)
          (setq n (1+ n))
          )
          )
        )
      )
    (princ (strcat "\n发现 " (itoa n) "处问题:"))
    (setq nn (+ n nn))
    )
(princ (strcat "\n总共发现 " (itoa nn) "处问题:"))
(princ)
)

hejiazhao 发表于 2012-5-2 16:41:36

严重顶起,期待解决中
页: [1] 2 3
查看完整版本: 检查折线间有无裂缝,请各高手提供个算法[已解决]