乐筑天下

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

[编程交流] 了解SSget对象que

[复制链接]

17

主题

72

帖子

55

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
85
发表于 2022-7-5 18:10:05 | 显示全部楼层 |阅读模式
我写了一段代码,希望能得到一个垂直对象的列表。我认为autocad select窗口会根据对象的高度来选择对象,但在尝试代码时,我注意到它没有这样做。
 
 
  1. (defun c:dump6 ( / a e o s x texto tipodepeca z y ent ent2 ent3 ent4 obj tabela count count2)
  2.    
  3. (setq count 2)
  4.    (if (setq s (ssget "_:L" '((0 . "TEXT")) ))
  5.        (repeat (setq i (sslength s))
  6.            (setq e (ssname s (setq i (1- i)))
  7.                  x (entget e)
  8.                  ent (entget(cdr (assoc 360 x)))
  9.            )
  10.           
  11.           (setq count (1+ count))
  12.                 (entmod (subst (cons 2 (strcat "some string" (itoa count))) (assoc 2 ent) ent))
  13.                
  14.         )
  15. )
  16. (princ)
  17. )
  18. (princ)

 
这是包含我正在编辑的字段的文本对象列表
 
191018vdw3qwd0aq3623w4.png
 
问题是,当我窗口选择它们时,它们不会根据其坐标进行拾取,因此,第一个元素不会得到第一个“计数”,而是一个随机数。
 
这可以定义在窗口中拾取对象的顺序吗?我觉得这是一个长期的机会,但好吧,因为这个论坛帮助了我这么多
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 19:26:31 | 显示全部楼层
否,对于图形选择方法,不能预先确定实体在集合中出现的顺序;只有“X”模式字符串返回有序集,因为这将通过直接在图形数据库上迭代来检索选择集,并在遇到实体时用实体填充该集。
 
您需要迭代选择集,并根据插入点的y坐标对文本实体进行排序。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 20:08 , Processed in 0.560407 second(s), 59 queries .

© 2020-2025 乐筑天下

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