明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1466|回复: 7

关于TEXT选择集中图元先后问题

[复制链接]
发表于 2004-4-11 18:01:00 | 显示全部楼层 |阅读模式
斑竹,请教一个问题 我想做一个可以调整技术要求的行间距的东东,但选择集中的图元顺序不是按照技术要求中的相应的1,2,3,4……排列的,这么一来就全乱了,不知有没有好的办法,让选择集中的图元信息按照各行文字插入点的纵坐标来排列
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2004-4-11 18:37:00 | 显示全部楼层
你可以自己排一下顺序啊
 楼主| 发表于 2004-4-13 12:38:00 | 显示全部楼层
在获取了选择集后,怎么让它重新排列呢?
发表于 2004-4-13 14:00:00 | 显示全部楼层
Put the items in the selection set into a list, say entlst, then


(vl-sort entlst '(lambda (e1 e2) (< (caddr (assoc 10 (entget e1))) (caddr (assoc 10 (entget e2))))))
发表于 2004-4-14 22:11:00 | 显示全部楼层
楼上的就是了,你按文字的定义坐标排序就行了。
 楼主| 发表于 2004-4-21 12:31:00 | 显示全部楼层
我不太会用这个函数,我也试过但还是不行,请大虾给我瞧瞧吧!
  1.   (defun c:test()
  2.    (SETQ ss (ssget '((0 . "TEXT"))))
  3.    (SETQ SSL (sslength ss))(setq n 0)
  4.    (while (< n ssl)
  5.        (setq e (ssname ss n))
  6.        (append el (list e))
  7.        (setq n (+ n 1))
  8.        )
  9.    (vl-sort el '(lambda (e1 e2) (< (caddr (assoc 10 (entget e1))) (caddr (assoc 10 (entget e2))))))
  10.    )
发表于 2004-4-21 12:50:00 | 显示全部楼层
(defun c:test()
(SETQ ss (ssget '((0 . "TEXT"))))
(SETQ SSL (sslength ss)
el '()
n 0)
(while (< n ssl)
(setq e (ssname ss n))
(setq el (append el (list e)))
(setq n (+ n 1))
)
(setq el (vl-sort el '(lambda (e1 e2)
(< (caddr (assoc 10 (entget e1)))
(caddr (assoc 10 (entget e2)))))
)
)
)
 楼主| 发表于 2004-4-21 17:31:00 | 显示全部楼层
多谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-1 12:49 , Processed in 0.179419 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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