明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2370|回复: 15

[已解答] 大师帮忙急解决此有关批量打断问题 

[复制链接]
发表于 2016-7-26 00:07 | 显示全部楼层 |阅读模式
100明经币
求大师帮助 能批量打断每个图元中Y为0,寻找X方向第一个交点,然后断开1mm.
附件: 您需要 登录 才可以下载或查看,没有账号?注册

最佳答案

查看完整内容

**** 本内容被作者隐藏 ****
发表于 2016-7-26 00:07 | 显示全部楼层
本帖最后由 llsheng_73 于 2016-7-31 02:20 编辑




本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2016-7-26 09:12 | 显示全部楼层
你这个也不是打断啊,只是把最下面一条水平线向右拉伸1mm即可。
回复

使用道具 举报

发表于 2016-7-26 21:33 | 显示全部楼层
你这么多图实际上应该是分别放在不同的dwg文档吧?批量打开然后DWG 然后断开?
回复

使用道具 举报

 楼主| 发表于 2016-7-27 00:10 | 显示全部楼层
偶尔做做怪 发表于 2016-7-26 21:33
你这么多图实际上应该是分别放在不同的dwg文档吧?批量打开然后DWG 然后断开?

是在一个图形中
回复

使用道具 举报

发表于 2016-7-27 10:15 | 显示全部楼层
如果都在一个DWG!逻辑判断很复杂!需要缩短的线Y坐标并不好确认。做这个程序得花一番功夫的!我开始后以为是每个图形一个DWG,那样的话简单不少!
回复

使用道具 举报

发表于 2016-7-27 15:17 | 显示全部楼层
本帖最后由 kozmosovia 于 2016-7-27 15:32 编辑

首先需要分组,然后针对每一组内遍历提取Y坐标最小的水平直线及其最左边X坐标最小的直线,修改其左端点X坐标+1
大概示意,没有测试
(Defun _Process        (ss / I MAXX MINX MINY OBJ S10 S11 SN)
  (setq        i    -1
        miny 1e99
        minx 1e99
  )
  (repeat (sslength ss)
    (setq sn  (ssname ss (Setq i (1+ i)))
          s10 (car (assoc 10 (entget sn)))
          s11 (car (assoc 11 (entget sn)))
    )
    (if        (and (equal (cadr s10) (cadr s11))
             (< (cadr s10) miny)
        )
      (progn
        (setq miny (car s10))
        (if (< (min (car s10) (car s11)) minx)
          (setq        minx (min (car s10) (car s11))
                obj  sn
          )
        )
      )
    )
  )
  (if obj
    (setq s10  (car (assoc 10 (entget obj)))
          s11  (car (assoc 11 (entget obj)))
          maxx (max (car s10) (car s11))
          minx (1+ minx)
          s10  (list minx miny 0.0)
          s11  (list maxx miny 0.0)
          obj  (entget obj)
          obj  (subst (cons 10 s10) (assoc 10 obj) obj)
          obj  (subst (cons 11 s11) (assoc 11 obj) obj)
          obj  (entmod obj)
    )
  )
)

回复

使用道具 举报

 楼主| 发表于 2016-7-28 09:25 | 显示全部楼层
kozmosovia 发表于 2016-7-27 15:17
首先需要分组,然后针对每一组内遍历提取Y坐标最小的水平直线及其最左边X坐标最小的直线,修改其左端点X坐标 ...

感谢您百忙之中抽空给予支持,老师这思路是对的,希望帮忙完善程序。我也是最近上明经学道来的。逐步提高水平。
回复

使用道具 举报

 楼主| 发表于 2016-7-28 09:26 | 显示全部楼层
kozmosovia 发表于 2016-7-27 15:17
首先需要分组,然后针对每一组内遍历提取Y坐标最小的水平直线及其最左边X坐标最小的直线,修改其左端点X坐标 ...

感谢您百忙之中抽空给予支持,老师这思路是对的,希望帮忙完善程序。我也是最近上明经学道来的。逐步提高水平。
回复

使用道具 举报

发表于 2016-7-30 15:27 | 显示全部楼层
本帖最后由 llsheng_73 于 2016-7-30 15:53 编辑



本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 22:17 , Processed in 0.177912 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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