关于删除重复线
本帖最后由 尘缘一生 于 2020-3-2 01:41 编辑删除重复线,本坛不少代码,但是,就是图比较大的时候,时间,速度是个问题,
我偶得一程序,是 *.fas格式,速度是非常快的,
很遗憾的是,下面提示区是乱码,如下图所示:
这个程序,不知谁能了解,如何提示的乱码,改对。
如果能提供源码出来,更好。
现把 *FAS附上。
由于业务原因,我是急需要,删除重复图元速度很快的才可使用,如下图所示:
文件有100多M,难以处理。
本帖最后由 东升铮 于 2020-3-3 01:14 编辑
用十六进制转换替换编码格式就行了! 本帖最后由 jun353835273 于 2020-3-2 10:50 编辑
借花献佛,代码是应该是lee大佬的
试一试这个,只删除重叠直线的
(defun c:killline ( / _line _online a e i l s )
(defun _line ( a b )
(entmake (list '(0 . "LINE") (cons 10 a) (cons 11 b)))
)
(defun _online ( p a b )
(equal (+ (distance p a) (distance p b)) (distance a b) 1e-8)
)
(if (setq s (ssget '((0 . "LINE"))))
(progn
(repeat (setq i (sslength s))
(setq e (entget (ssname s (setq i (1- i))))
l (cons (list (cdr (assoc 10 e)) (cdr (assoc 11 e))) l)
)
)
(while (setq a (car l))
(foreach b (setq l (cdr l))
(cond
( (or
(and
(equal (cara) (carb) 1e-8)
(equal (cadr a) (cadr b) 1e-8)
)
(and
(equal (cara) (cadr b) 1e-8)
(equal (cadr a) (carb) 1e-8)
)
)
(apply '_line a)
)
( (and
(_online (car a) (car b) (cadr b))
(_online (car b) (car a) (cadr a))
(not (equal (car a) (car b) 1e-8))
)
(_line (car a) (car b))
)
( (and
(_online (cara) (car b) (cadr b))
(_online (cadr b) (car a) (cadr a))
(not (equal (car a) (cadr b) 1e-8))
)
(_line (car a) (cadr b))
)
( (and
(_online (cadr a) (car b) (cadr b))
(_online (carb) (car a) (cadr a))
(not (equal (cadr a) (car b) 1e-8))
)
(_line (cadr a) (car b))
)
( (and
(_online (cadr a) (car b) (cadr b))
(_online (cadr b) (car a) (cadr a))
(not (equal (cadr a) (cadr b) 1e-8))
)
(_line (cadr a) (cadr b))
)
)
)
)
)
)
(princ)
) 本帖最后由 bssurvey 于 2020-3-2 08:20 编辑
指令: ee
選取物件: 指定對角點: 找到*****個
選取物件:
共處理********個實體,刪除了*******個實體
共處理********個實體,刪除了********個實體
這個是繁體中文 您的是簡體中文
选取物件: 指定对角点: 找到 ***** 个
选取物件:
共处理*****个实体,删除了*****个实体
共处理*****个实体,删除了*****个实体
本帖最后由 baoxiaozhong 于 2020-3-2 07:05 编辑
EXPRESS 里面就有 OVERKILL,更好用不用吗?
只能删除直线对象,没什么用 本帖最后由 尘缘一生 于 2020-3-2 10:00 编辑
baoxiaozhong 发表于 2020-3-2 07:01
EXPRESS 里面就有 OVERKILL,更好用不用吗?
都试验过,这个不行,首先,速度也不行,而且不能满足要求。如下尺寸标注,中间的都是双份实体,非常恶心人。都需要清理掉,只留一份。
bssurvey 发表于 2020-3-2 08:17
指令: ee
選取物件: 指定對角點: 找到*****個
選取物件:
若只删除线,速度这么快,倒也可以考虑的,就是繁体改不了。 尘缘一生 发表于 2020-3-2 10:01
若只删除线,速度这么快,倒也可以考虑的,就是繁体改不了。
2004年的软体,作者可能早就换工作了,应该是找不到人改简体中文,不过那些提示看不懂也不影响操作吧。 尘缘一生 发表于 2020-3-2 09:53
都试验过,这个不行,首先,速度也不行,而且不能满足要求。如下尺寸标注,中间的都是双份实体,非常恶心 ...
你这个应该是炸开了,所以才多一份出来,没炸开的情况下,本来就应该是二份。 老程序了,作者肯定改行了啊
页:
[1]
2