明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 易云网络

[源码] 直线,圆弧的圆去虫复,效率很(超)高(目前已知问题全部解决)~~欢迎品鉴和踢馆

    [复制链接]
 楼主| 发表于 2015-8-23 14:37 | 显示全部楼层
edata 发表于 2015-8-23 09:45
用OVERkill测试了下,发现,overkill速度慢点不说,还有清理不干净的线,圆弧直接kill,剩余最后一条,over ...

已经更新了,欢迎测试
 楼主| 发表于 2015-8-23 14:38 | 显示全部楼层
xiaotao 发表于 2015-8-22 21:16
刚测试了下,针对 CIRCLE ARC LINE 目前为止这个是速度最快处理得也是最理想的lsp程序!比OVERKILL快多了。 ...

修复了BUG重新测试吧
发表于 2015-8-23 19:55 来自手机 | 显示全部楼层
你的贴图是已经解决还是没有解决的问题。
 楼主| 发表于 2015-8-23 20:09 | 显示全部楼层
edata 发表于 2015-8-23 19:55
你的贴图是已经解决还是没有解决的问题。

这个程序还存在的小问题,不用修改了,解决这问题会影响效率,这个情况也少
发表于 2015-8-23 20:40 | 显示全部楼层
易云网络 发表于 2015-8-23 20:09
这个程序还存在的小问题,不用修改了,解决这问题会影响效率,这个情况也少

能否上传个dwg,看看,这个属于什么问题。
 楼主| 发表于 2015-8-23 21:37 | 显示全部楼层
edata 发表于 2015-8-23 20:40
能否上传个dwg,看看,这个属于什么问题。

最后面的圆弧横跨了 前面几组互相没有关联的圆弧
因为前面的已经处理过了 表集已经删除了,没有循环判断
(因为考虑到后面的圆弧有可能会跨过第一条,把第一条重新又写入了表的后面,所以第一条会删除掉),有漏的但是安全的
发表于 2015-8-23 21:49 | 显示全部楼层
首先圆心半径分组,那么对于有圆,直接全删除,如果全是弧形,那么考虑起始和结束角度,执行判断,圆弧几种状态,连接,重复,断开,类似于jion,理论上可以实现。
发表于 2015-8-24 09:13 | 显示全部楼层
不错,用处很大
发表于 2015-8-24 09:13 | 显示全部楼层
多谢分享啊,学习了
 楼主| 发表于 2015-8-24 09:24 | 显示全部楼层
本帖最后由 易云网络 于 2015-8-24 09:26 编辑
edata 发表于 2015-8-23 21:49
首先圆心半径分组,那么对于有圆,直接全删除,如果全是弧形,那么考虑起始和结束角度,执行判断,圆弧几种 ...
  1. (if (member ent1 ceshi)
  2.                 (progn
  3.                   (if yht  
  4.                     (progn
  5.                       (ssadd ent1 delss)
  6.                       (setq  yht nil)
  7.                       (entmake (list '(0 . "arc")
  8.                           (cons 10 (car LST)) (cons 40 (cadr LST)) (cons 50 spt1) (cons 51 ept1)))))
  9.                   (setq  
  10.                     ent1 ent2
  11.                     spt1 spt2  
  12.                     ept1 ept2
  13.                   )
  14.                 )
  15.                 (progn
  16.                   (if yht
  17.                     (progn
  18.                       (chg_ent ent1 50 spt1)
  19.                       (chg_ent ent1 51 ept1)
  20.                       (setq  yht nil ))
  21.                   )
  22.                   (setq   a (list(car LST)(cadr LST) ent1 (list spt1 ept1))
  23.                     ceshi (cons ent1 ceshi)  
  24.                     ssma  (reverse (cons a (reverse  ssma)))
  25.                     ent1 ent2
  26.                     spt1 spt2  
  27.                     ept1 ept2)
  28.                   ;(princ ssma)
  29.                 )
  30.                
  31.               )


您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-1 05:04 , Processed in 0.218749 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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