- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Can someone please help with editing this LISP routine? It works perfectly, I just need it to switch from letters to numbers.
(defun c:rollid ( / flg schr ss obj t_pre to)
;; increments dimension prefix text letters A,B->Z; AA,BB->..ZZ; AAA,BBB->..ZZZ
(vl-load-com)
(or *pnum* (setq *pnum* 65))
(or *plst* (setq *plst* (list 65)))
(setq flg T)
(while (not schr)
(setq schr (getstring (strcat "\nEnter Start Letter(s) : <" (vl-list->string *plst*) "> ")))
(cond ( (not schr) (setq schr T))
( (< 0 (strlen schr) 100) (setq *plst* (vl-string->list (strcase schr))))
( (> (strlen schr) 100) (alert "You Have Entered More Than 3 Letters") (setq schr nil))
);end_cond
);end_while
(setq *pnum* (last *plst*))
(while flg
(prompt "Select Dimension : ")
(setq ss (ssget "_+.:E:S:L" '((0 . "DIMENSION"))))
(cond (ss
(setq obj (vlax-ename->vla-object (ssname ss 0))
t_pre (vlax-get obj 'textprefix)
);end_setq
(if (> (vl-string-search "SPLITS" t_pre) 0)
(setq t_pre (strcat "ROLL '" (vl-list->string *plst*) "' (SPLITS) - "))
(setq t_pre (strcat "ROLL '" (vl-list->string *plst*) "' - "))
);end_if
(if (/= (setq to (vlax-get obj 'textoverride)) "") (vlax-put obj 'textoverride (strcat t_pre to)) (vlax-put obj 'textprefix t_pre))
(setq *pnum* (1+ *pnum*))
(cond ( (< 64 *pnum* 91)
(cond ( (<= (length *plst*) 1) (setq *plst* (list *pnum*)))
( (= (length *plst*) 2) (setq *plst* (list *pnum* *pnum*)))
( (= (length *plst*) 3) (setq *plst* (list *pnum* *pnum* *pnum*)))
);end_cond
)
( (> *pnum* 90)
(setq *pnum* 65)
(cond ( (= (length *plst*) 1) (setq *plst* (list *pnum* *pnum*)))
( (= (length *plst*) 2) (setq *plst* (list *pnum* *pnum* *pnum*)))
( (= (length *plst*) 3) (setq flg nil *plst* (list *pnum*)))
);end_cond
)
);end_cond
)
(t (setq flg nil))
);end_cond
);end_while
(princ)
);end_defun
Solved! Go to Solution.