문자 또는 숫자 자동 증가
(defun c:tag ( / fun ins ocs str uxa ) (while (not (or (= "" (setq str (getstring "\nSpecify grid line tag: "))) (wcmatch str "~*[~0-9]*") (wcmatch str "~*[~a-zA-Z]*") ) ) (princ "\n 숫자 또는 알파벳문자이어야 함...") ) (if (/= "" str) (progn (if (wcmatch str "~*[~0-9]*") (setq fun (lambda ( x ) (itoa (1+ (atoi x))))) (setq fun LM:A++) ) (setq ocs (trans '(0.0 0.0 1.0) 1 0 t) uxa (angle '(0.0 0.0 0.0) (trans (getvar 'ucsxdir) 0 ocs t)) ) (while (setq ins (getpoint "\nSpecify point
;; Alpha++ - Lee Mac ;; Increments an alphabetical string by one, e.g. AZ => BA ;; a - [str] alphabetical string (defun LM:A++ ( a ) ( (lambda ( f ) (vl-list->string (reverse (f (reverse (vl-string->list a)) t)))) (lambda ( l x ) (cond ( (null l) (if x '(65) '(97))) ( (= 090 (car l)) (cons 65 (f (cdr l) t ))) ( (= 122 (car l)) (cons 97 (f (cdr l) nil))) ( (cons (1+ (car l)) (cdr l))) ) ) ) ) (princ)
'Lisp & Tips > Lisp' 카테고리의 다른 글
mapcar 의 활용예 - 문자남기고 삭제 (0) | 2015.02.12 |
---|---|
치수관련 변수 목록 (0) | 2015.01.03 |
grread 옵션 정리 (0) | 2014.11.10 |
SSGET 사용법 정리 (0) | 2014.11.07 |
리스트에서 순서 뽑기 기초 (0) | 2014.10.27 |