明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1839|回复: 15

[提问] 各位大神看一下把这些编号按不同图层按数字顺序连线起来Y1-Y2-Y3-Y4

  [复制链接]
发表于 2022-8-6 19:50 | 显示全部楼层 |阅读模式
各位大神看一下把这些编号按不同图层按数字顺序连线起来Y1-Y2-Y3-Y4 以此类推          W1-W2-W3-W4以此类推   

本帖子中包含更多资源

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

x
发表于 2022-8-7 15:54 | 显示全部楼层
  1. (DEFUN C:TT(/ S lst portext e en l1 a p lst)
  2.   (defun portext(en / p)(if(equal(setq p(cdr(assoc 10 en)))'(0 0 0))(cdr(assoc 11 en))p))
  3.   (and(SETQ S(SSGET'((0 . "TEXT"))))
  4.       (while(setq e(ssname s 0))
  5.         (setq en(entget e)a(cdr(assoc 1 en))p(list(substr a 1 1)(cons(read(substr a 2))(portext en))))
  6.         (ssdel e s)
  7.         (if(setq l1(assoc(car p)lst))
  8.           (setq lst(subst(vl-list*(car p)(cadr p)(cdr l1))l1 lst))
  9.           (setq lst(cons p lst))))
  10.       (vl-every(function(lambda(x)
  11.                           (entmakex(append(mapcar'cons'(0 100 100 62 90)(list"lwPolyline""AcDbEntity""AcDbPolyline"(1+(vl-position x lst))(length(cdr x))))
  12.                                           (mapcar'(lambda(x)(cons 10(cdr x)))(vl-sort(cdr x)'(lambda(x y)(<(car x)(car y)))))))))lst)))

评分

参与人数 1明经币 +1 收起 理由
tigcat + 1 很给力!

查看全部评分

回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-8-7 08:39 | 显示全部楼层
guosheyang 发表于 2022-8-6 22:46
你这不就是从所有文字中 依次找到内容为y1的点  提取基点坐标  y2的点提取坐标  一直到y49   的基点  提出 ...

应该是这样的大神
回复 支持 0 反对 1

使用道具 举报

发表于 2022-8-6 22:45 | 显示全部楼层
(defun c:tt (/ ss lst n fu en obj wz pt lst1);根据文字内容连线
  (vl-load-com)
  (if (setq ss (ssget '((0 . "*TEXT"))))
    (progn
      (setq lst        nil
            n        -1
            fu        (lambda        (str)
                  (if (wcmatch str "#*")
                    (atoi str)
                    (fu (substr str 2))
                  )
                )
      )
      (while (setq en (ssname ss (setq n (1+ n))))
        (setq obj (vlax-ename->vla-object en)
              wz  (vla-get-TextString obj)
              pt  (vlax-safearray->list
                    (vlax-variant-value (vla-get-InsertionPoint obj))
                  )
        )
        (if (setq lst1 (car (vl-remove-if-not
                              '(lambda (x) (wcmatch wz (car x)))
                              lst
                            )
                       )
            )
          (setq        lst
                 (subst (append lst1 (list (list (fu wz) pt))) lst1 lst)
          )
          (setq        lst
                 (cons
                   (list
                     (strcat (vl-string-trim (itoa (setq x (fu wz))) wz)
                             "#*"
                     )
                     (list x pt)
                   )
                   lst
                 )
          )
        )
      )
      (setq n 0)
      (mapcar
        '(lambda (x)
           (entmake
             (append
               (list '(0 . "LWPOLYLINE")
                     '(100 . "AcDbEntity")
                     '(100 . "AcDbPolyline")
                     (cons 62 (setq n (1+ n)))
                     (cons 90 (length x))
               )
               (mapcar '(lambda (pt) (cons 10 pt)) x)
             )
           )
         )
        (mapcar
          '(lambda (x)
             (mapcar 'cadr
                     (vl-sort x '(lambda (a b) (> (car a) (car b))))
             )
           )
          (mapcar 'cdr lst)
        )
      )
    )
  )
)

评分

参与人数 2明经币 +2 收起 理由
jh3030912 + 1 1-9不能连线,10以后得可以
tigcat + 1 很给力!

查看全部评分

发表于 2022-8-6 21:56 | 显示全部楼层

本帖子中包含更多资源

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

x
发表于 2022-8-6 22:46 | 显示全部楼层
你这不就是从所有文字中 依次找到内容为y1的点  提取基点坐标  y2的点提取坐标  一直到y49   的基点  提出来  然后连成多段线即可   w1 到w57的也一样   
 楼主| 发表于 2022-8-7 08:32 | 显示全部楼层

大神可以上下代码吗
 楼主| 发表于 2022-8-7 08:37 | 显示全部楼层
kkq0305 发表于 2022-8-6 22:45
(defun c:tt (/ ss lst n fu en obj wz pt lst1);根据文字内容连线
  (vl-load-com)
  (if (setq ss (ssg ...

谢谢大神非常感谢
发表于 2022-8-7 16:26 | 显示全部楼层
发表于 2022-8-7 16:28 | 显示全部楼层

浓缩的代码,大佬666
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-15 15:16 , Processed in 0.210216 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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