乐筑天下

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

[编程交流] 匹配所选t的排序顺序

[复制链接]

8

主题

34

帖子

26

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 16:31:18 | 显示全部楼层 |阅读模式
我想选择多个文本并在x坐标中对其排序,并将排序顺序与新的文本选择集(红色)匹配。然后从文本的插入点(红色)生成多段线。
 
请参阅下图。
 
谢谢大家
. 173122re6evooojoo77ccc.jpg
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 16:46:30 | 显示全部楼层
从您显示的数组中,我看不到图像上的文本按X或Y排序。
要么是:
[列表]
  • A1 A2 A4 A3-降序Y排序
  • A3 A4 A2 A1-升序X排序
    [/列表]
    当然,上述情况可以逆转。
     
    Soo考虑一下:
    1. (defun C:test ( / c e o L )
    2. (setq c (cdr (assoc 62 (tblsearch "LAYER" (getvar 'clayer)))))
    3. (setvar 'errno 0)
    4. (while (/= 52 (getvar 'errno)) ; Lee Mac's structure to prompt for (entsel)
    5.    (setq e (car (nentsel "\nPick text <exit>: ")))
    6.    (cond
    7.      ( (= 7 (getvar 'errno)) (setvar 'errno 0) )
    8.      (e (setq o (vlax-ename->vla-object e))
    9.        (cond
    10.          ( (not (vlax-property-available-p o 'InsertionPoint)) (princ "\nInvalid object.") )
    11.          ( (not (setq L (cons (vlax-get o 'InsertionPoint) L))) )
    12.          ( (<= 2 (length L)) (redraw)
    13.            (grvecs (apply 'append (mapcar '(lambda (a b) (list c a b)) L (cdr L))))
    14.          )
    15.        ); cond
    16.      ); e
    17.    ); cond
    18. ); while
    19. (and (<= 2 (length L)) (LWPoly (LM:UniqueFuzz L 1e-3) 0) (redraw))
    20. (princ)
    21. ); defun
    22. ;; Unique with Fuzz  -  Lee Mac
    23. ;; Returns a list with all elements considered duplicate to
    24. ;; a given tolerance removed.
    25. (defun LM:UniqueFuzz ( l f )
    26. (if l
    27.    (cons (car l)
    28.      (LM:UniqueFuzz
    29.        (vl-remove-if
    30.          (function (lambda ( x ) (equal x (car l) f)))
    31.          (cdr l)
    32.        )
    33.        f
    34.      )
    35.    )
    36. )
    37. )
    38. (defun LWPoly (lst cls) ; Lee Mac again
    39. (entmakex
    40.    (append
    41.      (list
    42.        (cons 0 "LWPOLYLINE")
    43.        (cons 100 "AcDbEntity")
    44.        (cons 100 "AcDbPolyline")
    45.        (cons 90 (length lst))
    46.        (cons 70 cls)
    47.      )
    48.      (mapcar (function (lambda (p) (cons 10 p))) lst)
    49.    )
    50. )
    51. )
  • 回复

    使用道具 举报

    106

    主题

    1万

    帖子

    101

    银币

    顶梁支柱

    Rank: 50Rank: 50

    铜币
    1299
    发表于 2022-7-5 16:54:18 | 显示全部楼层
    rrulep公司
    完成。

    SortTEXT。拉链
    回复

    使用道具 举报

    2

    主题

    261

    帖子

    20

    银币

    初来乍到

    Rank: 1

    铜币
    8
    发表于 2022-7-5 17:10:46 | 显示全部楼层
    另一个:
    [code](defun c:textpoly(/ass ent enx idx lst ss1 ss2 str vts xco)(princ“\n选择定义排序顺序的文本:”)(if(setq ss1(ssget’((0。“text,MTEXT”)))(progn(setq ss2(ssget“_X”(list’(000。“text,MTEXT”))(if(=1(getvar’cvport))(cons 410(getvar’ctab))(410。“Model”)))))(repeat(setq idx(sslength ss1))(setq enx(entget(ssname ss1(setq idx(1-idx)))str(cdr(assoc 1 enx)))(或(assoc str lst)(setq lst(cons(cons str(cadr(assoc 10 enx)))lst)))(repeat(setq idx(sslength ss2))(cond((ssmemb(setq ent(ssname ss2(setq idx(1-idx)))ss1))((setq ass(assoc(cdr(assoc 1(setq enx(entget ent)))lst))(setq xco(cons(cdr ass)xco)vts(cons(cdr(assoc 10 enx))vts)lst(vl remove ass lst)))(entmake(append(list’(000。“LWPOLYLINE”)'(100。“AcDbEntity”)'(100。“AcDbPolyline”)(cons 90(length vts))'(070.0))(mapcar’(lambda(n)(cons 10(nth n vts)))(vl-sort-i xco'
    173124hdcvqd0jdzj8lpzc.jpg
    回复

    使用道具 举报

    114

    主题

    1万

    帖子

    1万

    银币

    中流砥柱

    Rank: 25

    铜币
    543
    发表于 2022-7-5 17:15:14 | 显示全部楼层
     
    这正是我想要的。
    完美的
     
     
     
    谢谢李,
    回复

    使用道具 举报

    8

    主题

    34

    帖子

    26

    银币

    初来乍到

    Rank: 1

    铜币
    40
    发表于 2022-7-5 17:30:56 | 显示全部楼层
    不客气
    回复

    使用道具 举报

    114

    主题

    1万

    帖子

    1万

    银币

    中流砥柱

    Rank: 25

    铜币
    543
    发表于 2022-7-5 17:33:18 | 显示全部楼层
    回复

    使用道具 举报

    发表回复

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

    本版积分规则

    • 微信公众平台

    • 扫描访问手机版

    • 点击图片下载手机App

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

    GMT+8, 2025-8-21 02:02 , Processed in 0.904274 second(s), 82 queries .

    © 2020-2025 乐筑天下

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