Главная СПДС СПДС. НАСТРОЙКА ПАРАМЕТРОВ, СООБЩЕНИЯ (файл SET).

;* DO NOT CHANGE THIS FILE IF YOU DON'T NOW AUTOLISP
;* НЕ ИЗМЕНЯЙТЕ ЭТОТ ФАЙЛ ЕСЛИ ВЫ НЕ ЗНАКОМЫ С ЯЗЫКОМ AUTOLISP. 
;*
;* (наименование и назначение программы)
;* (версия Acad)
;* (автор и его координаты, Email, сайт и пр.)
;
;* ABC_PRGNAME.SET [Задание параметров программы по умолчанию, список сообщений программы]
;* Отрисовка рамок (овальных, прямоугольных и сглаженных) вокруг текста или набора текстов.
;* Отрисовка текста с заданными свойствами и рамки к нему.
;* Рамки, созданные ранее для текстов, при переопределении автоматически удаляются.
;* Удаление рамок, созданных программой.
;*
;* Это пример организации и оформления программ по стандарту KAI.
;*
;------------------------------------------------
;  О Г Р А Н И Ч Е Н И Я   В   П Р О Г Р А М М Е 
;------------------------------------------------
; Только для объектов TEXT.
; Параллельность текстов текущей системе координат не проверяется. Для таких текстов отрисованные рамки будут неверны.
; При перемещении нельзя пользоваться привязками и вообще никакого другого ввода, кроме указания точки мышкой
; Значения объектов МTEXT, взятых из объекта при заполнении поля 'Текст' будут верными, если они не превышают 250 знаков (иначе - только хвост значения текста)
;
;* ** Acad 15,16,17
;* ** (c) Косов А.И., г.Магадан, тел.(413-2)65-05-10д   http://geol-dh.narod.ru/   ai_kosov@mail.ru
;* ** 2003 г
;
;Пример функции задания параметров по умолчанию
;
(defun ABC_PRGNAME_SETUP ()
  ;переменные, которые в окнах задания параметров изменить нельзя
  ;abc_language - глобальная переменная для всех программ семейства ABC*
  (if (not abc_language) (setq abc_language 2));[1 или 2] 1 - english, 2 - язык сообщений русский
  ;возможные значения выравнивания текста
  (setq prgname_just '("_LEFT" "_CENTER" "_MIDDLE" "_RIGHT" "_ML" "_MC" "_MR" "_BL" "_BC" "_BR" "_TL" "_TC" "_TR"))
  ;
  ;далее переменные - остающиеся в памяти, после окончания работы программы.
  ;
  ;ФОРМА РАМКИ:
  ;радио кнопки (режим рамки вокруг текста)
  (if (not abc_prgname_mode)   (setq abc_prgname_mode 2))    ;[1 или 2] 1-отрисовка овальной рамки; 2-отрисовка рамки с радиусами, в том числе с нулевым (прямоугольник)
  (if (not abc_prgname_rad)    (setq abc_prgname_rad 0.0))   ;[real>=0] радиус закруглиния рамки вокруг текста (при 0 - рисуется прямоугольник)
  (if (not abc_prgname_offset) (setq abc_prgname_offset 0.4));[real>=0] смещение рамки от текста в долях его высоты
  (if (not abc_prgname_boxlayer1) (setq abc_prgname_boxlayer1 0)) ;[1-включено, 0-выключено] отрисовка рамки на заданном слое (иначе - на текущем)
  (if (not abc_prgname_boxlayer)  (setq abc_prgname_boxlayer "TEXT_BOX"));[string] имя слоя по умолчанию для отрисовки рамок (если не определен в чертеже - предлагается текущий)
  ;ОТРИСОВКА ТЕКСТА
  ;задание флажков выбора (включено-выключено)
  (if (not abc_prgname_layer1) (setq abc_prgname_layer1 0)) ;[1-включено, 0-выключено] отрисовка на заданном слое (иначе - на текущем)
  (if (not abc_prgname_style1) (setq abc_prgname_style1 0)) ;[1-включено, 0-выключено] отрисовка заданным стилем (иначе - текущим)
  (if (not abc_prgname_ht1)    (setq abc_prgname_ht1 1))    ;[1-включено, 0-выключено] отрисовка заданной высотой (иначе - текущим)
  (if (not abc_prgname_rot1)   (setq abc_prgname_rot1 0))   ;[1-включено, 0-выключено] отрисовка по заданному углу (иначе - нулевым)
  (if (not abc_prgname_just1)  (setq abc_prgname_just1 1))  ;[1-включено, 0-выключено] отрисовка заданным выравниванием (иначе - _LEFT)
  (if (not abc_prgname_color1) (setq abc_prgname_color1 0)) ;[1-включено, 0-выключено] отрисовка заданным цветом (иначе - текущим)
  ;задание значений
  (if (not abc_prgname_layer) (setq abc_prgname_layer "TEXT"))  ;[string] имя слоя по умолчанию (если не определен в чертеже - предлагается текущий)
  (if (not abc_prgname_style) (setq abc_prgname_style "ITA08")) ;[string] имя стиля текста по умолчанию (если не определен в чертеже - предлагается текущий)
  (if (not abc_prgname_ht)    (setq abc_prgname_ht 2.5))        ;[real>0] высота текста по умолчанию
  (if (not abc_prgname_rot)   (setq abc_prgname_rot 0.0))       ;[real>0] угол поворота текста по умолчанию в градусах
  (if (not abc_prgname_just)  (setq abc_prgname_just "_MC"))    ;[string] одно из значений списка prgname_just
  (if (not abc_prgname_color) (setq abc_prgname_color 256))     ;[ineger 0-256] номер цвета Acad (256-bylayer, 0-byblock)
);end of **** ABC_PRGNAME_SETUP ****
;
;Список сообщений для данного примера (пропуски в номерах - недопустимы!!!)
;abc_mesage_list = глобальная переменная для данной программы
;
(setq abc_mesage_list '(
  (0 "Drawing text and/or boxes around text" "Отрисовка текстов и/или рамок вокруг текстов")
  (1 "Current parameters" "Текущие параметры")
  (2 "Layer" "Слой")
  (3 "Type" "Тип")
  (4 "Radius" "Радиус")
  (5 "Cancel - break program." "Cancel - прерывание программы.")
  (6 "Select text" "Выберите текст")
  (7 "Second point not spesified." "Вторая точка не специфицирована.")
  (8 "Nothing to move." "Нечего перемещать.")
  (9 "Select set of texts to draw boxes around" "Выберите набор текстов для отрисовки рамок вокруг них")
  (10 "Number of boxes created" "Число созданных рамок")
  (11 "Old textbox erased." "Прежняя рамка удалена.")
  (12 "Text xdata updated." "Расширенные данные к тексту обновлены.")
  (13 "Height of text must exceed null." "Высота текста должна превышать ноль.")
  (14 "Set to" "Установлено")
  (15 "Radius must be positive." "Радиус должен быть положительным.")
  (16 "Box offset must be positive." "Смещения рамки должно быть положительным.")
  (17 "Thaw one of layer before start program." "Разморозьте хотя-бы один нессылочный слой до начала программы.")
  (18 "Cancel program." "Прерывание программы.")
  (19 "No styles with nonzero height." "Нет стилей с ненулевой высотой.")
  (20 "Slotes" "Овалы")
  (21 "Rectangle" "Прямоугольники")
  (22 "Specify insertion point of text or" "Специфицируйте точку вставки текста или")
  (23 "Select text or" "Выберите текст или")
  (24 "Select set of texts to ERASE boxes around" "Выберите набор текстов для УДАЛЕНИЯ рамок вокруг них")
  (25 "Number of boxes erased" "Число удаленных рамок")
))

  при полном или частичном использовании материалов сайта ссылка на источник обязательна ©2002-2012