我的程序仅用于这样的编号<1> <2> <3>....... (defun zhao() (setq nn (nth 0 zuixiao)) (setq jg (strcat "您所选择的最小杆件号是" (itoa nn))) (alert jg) (setq xunhuan (nth 0 zuida)) (setq jg1 (strcat "您所选择的最大杆件号是" (itoa xunhuan))) (alert jg1) (while (<= nn xunhuan) (setq len2 (vl-list-length biao)) (setq biao1 (vl-remove nn biao)) (setq len3 (vl-list-length biao1)) (setq jieguo (- len2 len3)) (cond ((= jieguo 0) (progn (setq mm (strcat "件号" (itoa nn) "是空号")) (prompt "\n" ) (prompt mm ) ) ;end progn )
((= jieguo 1) (princ))
(t (progn (setq mm (strcat "件号" (itoa nn) "有" (itoa jieguo) "件重号" )) (prompt "\n" ) (prompt mm ) ) ;end progn ) ;end ) ;end cond (setq nn (+ 1 nn)) ) ;end repeat (princ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun zhao1() (setq nn (nth 0 zuixiao)) (setq jg (strcat "您所选择的最小杆件号是" "PG" (itoa nn))) (alert jg) (setq xunhuan (nth 0 zuida)) (setq jg1 (strcat "您所选择的最大杆件号是" "PG" (itoa xunhuan))) (alert jg1) (while (<= nn xunhuan) (setq len2 (vl-list-length biao)) (setq biao1 (vl-remove nn biao)) (setq len3 (vl-list-length biao1)) (setq jieguo (- len2 len3)) (cond ((= jieguo 0) (progn (setq mm (strcat "件号" "PG" (itoa nn) "是空号")) (prompt "\n" ) (prompt mm ) ) ;end progn ) ((= jieguo 1) (princ))
(t (progn (setq mm (strcat "件号" "PG" (itoa nn) "有" (itoa jieguo) "件重号" )) (prompt "\n" ) (prompt mm ) ) ;end progn ) ;end ) ;end cond (setq nn (+ 1 nn)) ) ;end repeat (princ) ) (defun c:chpgl() (vl-load-com) (setq ss (ssget '((0 . "TEXT,MTEXT")))) (setq len (sslength ss)) (setq n 0) (if (/= biao nil) (setq biao nil) ) (repeat len (setq ent (ssname ss n)) (setq dxf (entget ent)) (setq wenzi (cdr (assoc 1 dxf))) (setq zitou (substr wenzi 1 3)) (if (= zitou "< G") (progn (setq zifu (substr wenzi 4)) (setq shishu (atoi zifu)) (setq biao (cons shishu biao)) ) ;end progn ) ;end if (setq n (+ 1 n)) ) ;end repeat (setq zuixiao (vl-sort biao '<)) (setq zuida (vl-sort biao '>)) (setq len1 (vl-list-length biao)) (zhao1) (textscr) (princ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:ch() (vl-load-com) (prompt "请选择您要查询的杆件号,但不要选择说明中的文字:") (setq ss (ssget '((0 . "TEXT,MTEXT")))) (setq len (sslength ss)) (setq n 0)
(if (/= biao nil) (setq biao nil) ) (repeat len (setq ent (ssname ss n)) (setq dxf (entget ent)) (setq wenzi (cdr (assoc 1 dxf))) (setq zitou (substr wenzi 1 1)) (setq dier (substr wenzi 2 1)) (setq shishu1 (atoi dier)) (setq pg (substr wenzi 1 3)) (if (and (= zitou "<") (/= shishu1 0)) (progn (setq zifu (substr wenzi 2)) (setq shishu (atoi zifu)) (setq biao (cons shishu biao)) ) ;end progn ) ;end if (setq n (+ 1 n)) ) ;end repeat (setq zuixiao (vl-sort biao '<)) (setq zuida (vl-sort biao '>)) (setq len1 (vl-list-length biao)) (zhao) (textscr) (princ) ) (prompt "\n 查询普通杆件用ch命令,查询组合梁用chpgl") (prompt "\n 普通梁杆件号仅限<*>格式,组合梁仅限< G*>格式, *为任意数字") (prompt "\n 本程序作者:窦俊强,如有问题请与作者联系qq :53124174")
|