Тема: LISP. Отрисовка числа в круге.
1 ВАРИАНТ. Если задана "DIMSCALE" (например, 100).
;******** TKRUG.LSP ******************************************* ; Программа вставки числа или букв в кружке. ; Для шрифта romans.shx не более 2 символов. ; Если шрифт arial.ttf, то может влезть и 3 символа. ; Разработал Громов В.В. 2003 ; (defun C:TKRUG ( / c hold ht r tt txt1 txt) (setvar "cmdecho" 0) (setq c (getvar "DIMSCALE")) (princ "\n Прежняя высота текста (мм бумаги): ") (setq hold (/ (getvar "TEXTSIZE") c)) (princ hold) (initget 6) (princ (strcat "\n РАЗМЕР (высота) текста (мм бумаги) <" (rtos hold 2 2) ">: ")) (setq ht (getreal)) (if (= ht nil) (setq ht hold)) (setq ht (* ht c)) (setq r (* 1.2 ht)) (setq tt 0) (while tt (setq tt (getpoint "\n Укажите ТОЧКУ (ENTER-Хватит): ")) (if tt (progn (if (null txt1) (setq txt1 "1")) (princ (strcat "\n Число <" txt1 ">: ")) (setq txt (getstring)) (if (= txt "") (setq txt txt1) (setq txt1 txt)) (command "_CIRCLE" tt r) (command "_TEXT" "_M" tt ht "0" txt) )) ) (princ "\n Конец. ") (princ) )
2 ВАРИАНТ. Если "DIMSCALE" не задана (равна 1).
;******** TKRUG.LSP ******************************************* ; Программа вставки числа или букв в кружке. ; Для шрифта romans.shx не более 2 символов. ; Если шрифт arial.ttf, то может влезть и 3 символа. ; Разработал Громов В.В. 2003 ; (defun C:TKRUG ( / c hold ht r tt txt1 txt) (setvar "cmdecho" 0) (princ "\n Прежняя высота текста: ") (setq hold (getvar "TEXTSIZE")) (princ hold) (initget 6) (princ (strcat "\n РАЗМЕР (высота) текста <" (rtos hold 2 2) ">: ")) (setq ht (getreal)) (if (= ht nil) (setq ht hold)) (setq r (* 1.2 ht)) (setq tt 0) (while tt (setq tt (getpoint "\n Укажите ТОЧКУ (ENTER-Хватит): ")) (if tt (progn (if (null txt1) (setq txt1 "1")) (princ (strcat "\n Число <" txt1 ">: ")) (setq txt (getstring)) (if (= txt "") (setq txt txt1) (setq txt1 txt)) (command "_CIRCLE" tt r) (command "_TEXT" "_M" tt ht "0" txt) )) ) (princ "\n Конец. ") (princ) )
Возможный макрос для кнопки или пункта меню:
^C^C^P(if (not C:TKRUG) (load "tkrug")) TKRUG