谁能帮忙写个小程序,搜索施工图中说明文字中多个单行文字第一个数字,然后将数字降序排列,例如:每条说明的第一个数字分别是5 4 2 1,运行程序后每条说明的第一个数字改为了1 2 3 4
谁能帮忙写个小程序,搜索施工图中说明文字中多个单行文字第一个数字,然后将数字降序排列,例如:每条说明的第一个数字分别是5 4 2 1,运行程序后每条说明的第一个数字改为了1 2 3 4
2楼
怎么没有人响应啊,呵呵,现在的大师们就封山了吗?
回复
3楼
这个程序我已经有了思路,还希望高手们指点
(defun C:test (/ ss s1)
(setq ss (ssget '((0 . "TEXT"))));选择多个单行文字
(setq s1 (substr ss 1 1));提取每个单行文字的第一个字
(if (= s1 "~*[~`--9]*");加入第一个是数字,则参与排序
(progn ;排序函数
;;按照内容排序(应该将数字从1按降序排列)
(setq S2 (SORT-SE S1 1 nil nil nil))
(setq I 0)
(repeat (sslength S2)
(princ "\n")
(princ (cdr (assoc 1 (entget (ssname S2 I)))))
(setq I (1+ I))
)
)
)
回复
4楼
不成品。
另: (wcmatch s1 "#");一个纯数字
回复