Тема: LISP. Нумерация в порядке возрастания
;******** numer.lsp - Программа нумерации по порядку.********** ; ; Разработал Громов В.В. Апрель 1994. ; (defun C:NUMER ( / c hit htt ht tt nom1 nm1) (setvar "cmdecho" 0) (setq c (getvar "DIMSCALE")) (setq hit (rtos (/ (getvar "TEXTSIZE") c))) (initget 1) (if (null htt) (setq htt hit)) (princ "\n Текущая высота текста (мм бумаги): ") (princ (/ (getvar "TEXTSIZE") c)) (prompt (strcat "\n РАЗМЕР (высота) цифры (мм бумаги) <" htt ">: ")) (setq ht (getstring)) (if (= ht "") (setq ht (* (atof htt) c)) (setq ht (* (atof ht) c))) (setq htt (rtos (/ ht c))) (setq tt 0) (while tt (setq tt (getpoint "\n Укажите ТОЧКУ (ENTER-Хватит): ")) (if tt (progn (if (null nom1) (setq nom1 "1")) (prompt (strcat "\n НОМЕР <" nom1 ">: ")) (setq nm1 (getstring)) (if (= nm1 "") (setq nm1 nom1)) (command "_TEXT" "_M" tt ht "0" nm1) (setq nom1 (itoa (1+ (atoi nm1)))) )) ) (princ "\n Конец. ") (princ) )
Возможный макрос для кнопки или пункта меню:
^C^C^P(if (not C:NUMER (load "numer")) NUMER