求教选择集分类后能否实现合并
本帖最后由 xyz2009xyz 于 2020-5-7 12:46 编辑(setq S1 (ssget '((0 . "TEXT")))) ;;选择单行文本
(setq K 0)
(repeat (sslength S1)
(setq CB_list (entget (ssnameS1 K)))
(setq lst (cdr (assoc 1 CB_list))) ;;取文本内容
(setq first_lst (substr lst 1 1)) ;;取首字母
(if (= "T" first_lst) ;;按照首字母分类
(setq CB_list_T (entget (ssnameS2 K)))
)
(if (= "P" first_lst)
(setq CB_list_P (entget (ssnameS2 K)))
)
(if (= "F" first_lst)
(setq CB_list_F (entget (ssnameS2 K)))
)
(if (= "L" first_lst)
(setq CB_list_L (entget (ssnameS2 K)))
)
(if (= "A" first_lst)
(setq CB_list_A (entget (ssnameS2 K)))
)
(if (= "G" first_lst)
(setq CB_list_G (entget (ssnameS2 K)))
)
(if (= "X" first_lst)
(setq CB_list_X (entget (ssnameS2 K)))
)
(setq K (1+ K))
)
按照首字母分类完之后,这些表能否按照CB_list_T、CB_list_P、CB_list_F等筛选顺序拼接回表S1格式状态,怎么实现?
希望大家指教。多谢!
;合并选集
(repeat (setq i (sslength ss))
(ssadd (ssname ss (setq i (1- i))) ss1)
) mapcar ,构造个 lambda 函数,无需这样写得很啰嗦... 表合并论坛有很多例子,还请你自行查找。 有路过提点意见的么? S1是选择集不是表,得到的表是返不回去的。 表合并,用函数append 原地踏步 发表于 2020-5-7 11:21
S1是选择集不是表,得到的表是返不回去的。
开始是想着选择集,不知道咋表达用的表,感觉这才说的合理,是不是可以用图元名存起来,再entget复原。 yinchuan99001 发表于 2020-5-7 09:51
表合并论坛有很多例子,还请你自行查找。
自行查找,肯定查找过啊,要不然,还是看下主题再留言吧。 wx302008008 发表于 2020-5-7 12:25
表合并,用函数append
感觉不行哈,表的函数我都看了一遍。我这个里面应该是选择集!我的表述错误。 论坛里面好像有选择集合并的我去研究一下,再来公布结果。
页:
[1]
2