乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 113|回复: 6

[求助]如何在很多线LINE,ARC中自动找出条件相同的线合并成一条线?

[复制链接]

31

主题

78

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
202
发表于 2003-11-14 00:05:00 | 显示全部楼层 |阅读模式
条件:
LINE 只要在同一条直线上多条直线
合并成一条直线
ARC 圆心相同半径样的多条弧合并成一条弧
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-11-14 08:22:00 | 显示全部楼层
如果两条直线中间有空隙,是否要延长将空隙填上?
ARC就更无法确定了,如果有空隙,就会有两个,要填该填哪一个呢?
回复

使用道具 举报

31

主题

78

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
202
发表于 2003-11-14 20:15:00 | 显示全部楼层
LINE可以通过计算4个点的距离进行比较得距离最长2点合并成一条直线
ARC可以通过计算4个点的周长进行比较得财最长2点合并合并成一条弧
问题是怎样删除其中一个图元,并且更新另外一个图元来和其他图元继续比较
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-11-14 20:24:00 | 显示全部楼层
我的话你好象一点的没看,问题是两个对象如果不相互连接,比如说中间是断开的,如何处理?
回复

使用道具 举报

31

主题

78

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
202
发表于 2003-11-14 21:28:00 | 显示全部楼层
中间断开只要小于或等于10MM之间都要合成一条线
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:oqveubuvumz.dwg 
下载次数:0  文件大小:29.21 KB  售价:2银币 [记录]
下载权限: 不限 以上或 Vip会员   [开通Vip]   [签到领银币]  [免费赚银币]

回复

使用道具 举报

29

主题

1152

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1268
发表于 2003-11-15 01:16:00 | 显示全部楼层
对直线
Pedit -〉m -〉选择 -〉y -〉J -〉输入合并距离
或者
  1. (defun l2pl (l_name / s2 n e)
  2.   (setq        s2 (ssget (list        '(-4 . "")
  3.                         '
  4.                          (-4 . "NOT>")
  5.                         '(-4 . "AND>")
  6.                   )
  7.            )
  8.   )
  9.   (if s2
  10.     (progn
  11.       (setq n (sslength s2))
  12.       (setq i 0)
  13.       (repeat n
  14.         (if (setq e (ssname s2 i))
  15.           (progn
  16.             (if        (wcmatch (cdr (assoc 0 (entget e))) "*POLYLINE")
  17.               (command ".pedit" e "j" s2 "" "")
  18.               (command ".pedit" e "y" "j" s2 "" "")
  19.             )
  20.             (if        (= (cdr (assoc 70 (entget e))) 1)
  21.               (progn
  22.                 (ssdel e s0)
  23.                 (setq n (1- n))
  24.               )
  25.             )
  26.           )
  27.         )
  28.         (setq i (1+ i))
  29.       )
  30.     )
  31.   )
  32. )
  33. (defun C:C_L2PL        ()
  34.   (prompt "\n请选择要连接成POLYLINE的LINE(线)和ARC(弧):"
  35.   )
  36.   (l2pl "*")
  37.   (princ)
  38. )

圆弧要编程了
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-11-18 07:54:00 | 显示全部楼层
;;EA兄的程序有些小問題,改了一下!
(defun L2PL_LAI        (L_NAME / S2 E I)
  (setq        S2 (ssget (list        '(-4 . "")
                        '(-4 . "NOT>")
                        '(-4 . "AND>")
                  )
           )
  )
  (if S2
    (progn
      (setq N 0)
      (repeat (sslength S2)
        (if (entget (setq E (ssname S2 N)))
          (if (wcmatch (cdr (assoc 0 (entget E))) "*POLYLINE")
            (command ".pedit" E "j" S2 "" "")
            (command ".pedit" E "y" "j" S2 "" "")
          )
        )
        (setq N (1+ N))
      )
    )
  )
)
(defun C:C_L2PL_LAI ()
  (prompt "\n請選擇要連接成POLYLINE的LINE(線)和ARC(弧):"
  )
  (L2PL_LAI "*")
  (princ)
)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-7 00:27 , Processed in 2.220703 second(s), 71 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表