明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4679|回复: 29

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

  [复制链接]
发表于 2012-4-28 14:46:57 | 显示全部楼层 |阅读模式
本帖最后由 soly2006 于 2012-5-4 18:15 编辑


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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2012-4-30 16:55:03 | 显示全部楼层
没有人理啊?应该用的人不少啊,给个方法。
再自顶上。
回复 支持 1 反对 0

使用道具 举报

发表于 2012-4-30 17:39:38 | 显示全部楼层
行有不得反求诸己
单依楼主所提资料怕是难有回应...
提问可是个大学问啊,问对了有如叩钟之应...
发表于 2012-4-30 18:24:54 来自手机 | 显示全部楼层
pe m                  
发表于 2012-4-30 20:43:29 | 显示全部楼层
看看这个应该是你要的效果,我没有原代码,这是别人工具箱里面的功能,会写像这样的代码的高手,请你们帮一下,谢谢.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2012-5-1 12:30:09 | 显示全部楼层
顶上去先,我越发严重怀疑我的表达能力了.
怎么都不能理解啊.
就是两折线间留有缝的地方标示出来。
希望大家关注一下。
发表于 2012-5-1 12:43:40 来自手机 | 显示全部楼层
表达严重有问题 !首先折线是什么类型的线没说,其次应该给个样图,样图中要有原图和你想要的结果!这样别人才能帮你,否则,自然没人关注!
 楼主| 发表于 2012-5-2 13:16:54 | 显示全部楼层
再自顶,顶不出来不罢休
发表于 2012-5-2 15:31:16 | 显示全部楼层
soly2006 发表于 2012-5-2 13:16
再自顶,顶不出来不罢休

  1. (defun c:tt  (/ MKCIRCLE SS L PL FLAG S i)
  2.   (defun mkcircle  (pt r)
  3.     (entmake (list '(0 . "circle")
  4.                    (cons 10 pt)
  5.                    (cons 40 r)
  6.                    (cons 62 1)
  7.                    (cons 8 "检查标记")))
  8.     )
  9.   (setq n 0 nn 0)
  10.   (while (progn
  11.            (princ "\n选择要检查的物体:")
  12.            (setq ss (ssget '((0 . "lwpolyline"))))
  13.            )
  14.     (setq s nil n 0)
  15.   (repeat (setq i (sslength ss))
  16.     (setq s (cons (ssname ss (setq i (1- i))) s))
  17.     )
  18.     (foreach en         s
  19.       (setq l (vl-remove en s))
  20.       (setq pl (mapcar 'cdr
  21.                        (vl-remove-if-not
  22.                          '(lambda (x) (= 10 (car x)))
  23.                          (entget en))))
  24.       (foreach pt  pl
  25.         (setq Flag
  26.                (vl-some
  27.                  '(lambda (x)
  28.                     (equal (vlax-curve-getclosestpointto en pt)
  29.                            (vlax-curve-getclosestpointto x pt)
  30.                            1e-6))
  31.                  l))
  32.         (if (not Flag)
  33.           (progn
  34.           (mkcircle pt 1)
  35.           (setq n (1+ n))
  36.           )
  37.           )
  38.         )
  39.       )
  40.     (princ (strcat "\n发现 " (itoa n) "处问题:"))
  41.     (setq nn (+ n nn))
  42.     )
  43.   (princ (strcat "\n总共发现 " (itoa nn) "处问题:"))
  44.   (princ)
  45.   )

点评

怎么会有那么多币?! 开银行的?  发表于 2012-5-3 19:27
发表于 2012-5-2 16:41:36 | 显示全部楼层
严重顶起,期待解决中
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-19 10:45 , Processed in 0.199029 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表