读取编号内容,编号与图元对应,建立一个表。然后表按顺序排列。 - (defun c:tes ( / &k1 &kw1 &ss1 &str1 x y)
- (vl-load-com)
- (princ "\n请选择编号文字")
- (if (setq &kw1 (ssget '((0 . "TEXT") (1 . "C*,c*"))))
- (progn
- (setq &ss1 '());建立表
- (while (setq &k1 (ssname &kw1 0))
- (setq &kw1 (ssdel &k1 &kw1) &str1 (cdr (assoc 1 (entget &k1))));提取文字内容
- (setq &str1 (atof (substr &str1 2)));去掉字母C变数值
- (setq &ss1 (cons (list &str1 &k1) &ss1))
- );while
- (setq &ss1 (vl-sort &ss1 '(lambda (x y) (< (car x) (car y)))));按数值从小到大排列
- ;(princ &ss1)
- (setq &ss1 (mapcar 'cadr &ss1));表里面去掉数值,只有图元
- ;(princ &ss1)
- )
- )
- (princ)
- )
|