- •Содержание
- •Основные принципы настройки
- •Основные возможности настройки
- •Организация программных и вспомогательных файлов
- •Коротко об организации файлов
- •Работа с несколькими конфигурациями
- •Хранение чертежей в нескольких папках
- •Настройка шаблонов Интернет-публикаций
- •Создание пользовательских команд
- •Описание внешних команд
- •Псевдоимена команд
- •Настройка типов линий
- •Обзор описаний типов линий
- •Создание простых типов линий
- •Текстовые объекты в пользовательских типах линий
- •Формы в пользовательских типах линий
- •Пользовательские образцы штриховки
- •Коротко об описании образцов штриховки
- •Образцы штриховки из прерывистых линий
- •Образцы штриховки из составных линий
- •Настройка интерфейса пользователя
- •Обзор диалогового окна "Настройка интерфейса пользователя"
- •Термины, используемые при настройке
- •Изменения в настройке
- •Обзор редактора настройки интерфейса пользователя
- •Фильтр отображения элементов настройки
- •Работа с файлами настройки
- •Основные сведения о файлах настройки
- •Перенос и передача настроек
- •Создание и загрузка частичного файла НПИ
- •Создание корпоративного файла НПИ
- •Команды настройки
- •Создание, редактирование и повторное использование команд
- •Имена команды "Найти" и строки поиска
- •Управление отображением имен команд
- •Создание изображений для команд
- •Создание подсказок в строке состояния
- •Создание макросов
- •Использование в макросах специальных управляющих символов
- •Пауза для пользовательского ввода
- •Поддержка иностранных языков в макросах
- •Повторение команд в макросе
- •Метод выбора объектов "Единственный"
- •Использование макроса для перестановки элементов интерфейса пользователя
- •Использование условных выражений в макросах
- •Использование AutoLISP в макросах
- •Настройка панелей инструментов
- •Создание и редактирование панелей инструментов
- •Добавление или замена элементов управления панели инструментов
- •Создание раскрывающихся и контекстных меню
- •Создание раскрывающегося меню
- •Создание контекстного меню
- •Создание подменю
- •Обращение к раскрывающимся и контекстным меню
- •Подстановка и вставка раскрывающихся меню
- •Задание клавиш быстрого вызова и временной замены
- •Создание операции при двукратном нажатии
- •Настройка кнопок мыши
- •Ввод координат в меню кнопок
- •Настройка элементов интерфейса предыдущей версии
- •Создание планшетных меню
- •Настройка кнопок планшета
- •Создание экранных меню
- •Создание меню мозаики изображений
- •Загрузка файла AutoLISP
- •Настройка рабочего пространства
- •Вопросы и ответы по настройке интерфейса пользователя
- •DIESEL
- •Настройка строки состояния
- •Системная переменная MODEMACRO
- •Присвоение значений MODEMACRO
- •Выражения DIESEL в макросах
- •USERS1-5 Каталог функций языка DIESEL
- •+ (сложение)
- •- (вычитание)
- •* (умножение)
- •/ (деление)
- •= (равно)
- •< (меньше)
- •> (больше)
- •!= (не равно)
- •<= (меньше или равно)
- •>= (больше или равно)
- •angtos
- •edtime
- •eval
- •getenv
- •getvar
- •index
- •rtos
- •strlen
- •substr
- •upper
- •Сообщения об ошибках языка DIESEL
- •Слайды и командные сценарии
- •Создание слайдов
- •Коротко о слайдах
- •Просмотр слайдов
- •Создание и просмотр библиотек слайдов
- •Создание файлов сценариев
- •Коротко о файлах сценариев
- •Вызов сценария при загрузке программы
- •Демонстрация слайдов с помощью сценариев
- •Введение в интерфейсы программирования
- •ActiveX Automation
- •Коротко об ActiveX
- •Запуск приложения из командной строки
- •Запуск приложения из меню или с помощью панели инструментов
- •AutoCAD VBA
- •Основные сведения о AutoCAD VBA
- •Использование приложений AutoCAD VBA
- •Автоматическая загрузка и выполнение проектов VBA
- •AutoLISP и Visual LISP
- •Коротко об AutoLISP и Visual LISP
- •Работа с приложениями AutoLISP
- •Автоматическая загрузка и выполнение процедур AutoLISP
- •Файл ACAD.LSP
- •Файл ACADDOC.LSP
- •MNL-файл и AutoLISP-функции для меню
- •Предотвращение ошибок AutoLISP при выполнении файлов автозагрузки
- •Функция S::STARTUP: выполнение после завершения инициализации чертежа
- •ObjectARX
- •Коротко об ObjectARX
- •Работа с приложениями ObjectARX
- •Обзор .NET
- •Формы и шрифты
- •Коротко о файлах форм
- •Создание файлов описаний форм
- •Описания форм
- •Коды длин и направлений векторов
- •Специальные коды
- •Коды 0, 1 и 2: Конец формы и управление режимом построения
- •Коды 3 и 4: Управление размером
- •Коды 5 и 6: Сохранение и восстановление позиции
- •Код 7: Субформа
- •Коды 8 и 9: Смещения по X-Y
- •Код 00A: Октантная дуга
- •Код 00B: Дробная дуга
- •Коды 00C и 00D: Дуги, заданные прогибом
- •Код 00E: Флаг вертикального текста
- •Описания текстовых шрифтов
- •Файлы-образцы
- •Расширенный одноштриховой Roman
- •Расширенный стандартный шрифт UNICODE
- •Описания больших шрифтов
- •Описание большого шрифта
- •Создание файла расширенного большого шрифта
- •Использование большого шрифта в чертежах
- •Использование большого шрифта для создания специальных символов
- •Описания шрифтов Unicode
- •Верхние и нижние индексы в SHX-файлах
- •Указатель
отключения вызова команды СТЕРЕТЬ на время действия всех других команд. После завершения их выполнения пункт возвращается в нормальное состояние.
$(if,$(getvar,cmdactive),~)ERASE
Подобный подход можно использовать для установки пометки возле имени пункта меню и для интерактивной смены символа, который служит для пометки.
USERS1-5 Каталог функций языка DIESEL
Функции языка DIESEL позволяют получать сведения о состоянии программы, выполнять вычисления и выводить информацию на экран. Каждая функция может иметь не более 10 параметров (в число параметров включается и ее имя). Превышение этого предела приводит к выдаче сообщения об ошибке.
+ (сложение)
Возвращает сумму чисел знач1, знач2, ..., знач9.
$(+, знач1 [, знач2 , …, знач9 ])
Например, если значение текущей 3D высоты равно 5, следующее DIESEL-выражение вернет 15.
$(+, $(getvar,thickness),10)
- (вычитание)
Возвращает результат вычитания чисел от знач2 до знач9 из знач1.
$(-, знач1 [, знач2 , …, знач9 ])
* (умножение)
Возвращает произведение чисел знач1, знач2, …, знач9.
$(*, знач1 [, знач2 , …, знач9 ])
/ (деление)
Возвращает частное от деления числа знач1 на знач2, …, знач9.
$(/, знач1 [, знач2 , …, знач9 ])
USERS1-5 Каталог функций языка DIESEL | 183
= (равно)
Если числа знач1 и знач2 равны, возвращает 1; иначе возвращает 0.
$(=, знач1 , знач2 )
< (меньше)
Если число знач1 меньше числа знач2, возвращает 1; иначе возвращает 0.
$(< , знач1, знач2)
Следующее выражение получает текущее значениеHPANG; если это значение меньше, чем значение в системной переменной USERR1, возвращает 1. Если в USERR1 содержится значение 10,0, а текущее значение HPANG составляет 15,5, то следующая строка возвращает 0.
$(<, $(getvar,hpang),$(getvar,userr1))
> (больше)
Если число знач1 больше чем знач2, возвращает 1; иначе возвращает 0.
$(>, знач1 , знач2 )
!= (не равно)
Если числа знач1 и знач2 не равны, возвращает 1; иначе возвращает 0.
$(!=, знач1 , знач2 )
<= (меньше или равно)
Если число знач1меньше или равно числу знач2, строка возвращает 1; в противном случае - 0.
$(<=, знач1 , знач2 )
>= (больше или равно)
Если число знач1 больше или равно числу знач2, возвращает 1; иначе возвращает
0.
184 | Глава 5 DIESEL
$(>=, знач1 , знач2 )
и
Возвращает результат побитовой логической операции И над целыми значениями от знач1 до знач9.
$(and, знач1 [, знач2 ,…, знач9 ])
angtos
Возвращает значение угла в заданном формате и с указанной точностью.
$(angtos, значение [, режим, точность])
Заданное значение представляется как угол в формате, определяемом параметром режими с указанной точностью(как в аналогичной функции AutoLISP). Возможные значения аргумента режимприводятся в следующей таблице. Если режими точность отсутствуют, используются значения, заданные в команде ЕДИНИЦЫ.
Единицы измерения углов
Режим |
Формат строки |
0 |
Градусы |
1 |
Градусы/минуты/секунды |
2 |
Грады |
3 |
Радианы |
4 |
Топографические |
|
единицы |
edtime
Возвращает дату и время, отформатированные в соответствии с указанным представлением.
$(edtime, время , представление )
Текущая дата AutoCAD по юлианскому календарю, взятая из параметра время (значение которого можно получить, например, из $(getvar,date)), форматируется согласно параметру представление). Параметр представление состоит из строк форматов, которые функция заменяет на значения элементов даты и времени.
USERS1-5 Каталог функций языка DIESEL | 185
Символы, не интерпретируемые как строки форматов, копируются в результат $(edtime)буквально. Возможные значения строк форматов приводятся в следующей таблице. Предположим, что сейчас суббота, 5 сентября 1998 г.; текущее время равно
4:53:17.506.
фразы форматов для edtime |
|
|
|
Формат |
Вывод |
Формат |
Вывод |
D |
5 |
H |
4 |
DD |
05 |
HH |
04 |
DDD |
Суб |
MM |
53 |
DDDD |
Суббота |
SS |
17 |
M |
9 |
MSEC |
506 |
MO |
09 |
AM/PM |
AM |
МЕС |
Сен |
am/pm |
am |
MONTH |
Сентября |
A/P |
A |
YY |
98 |
a/p |
a |
YYYY |
1998 |
|
|
Фразу AM/PM следует обязательно вводить полностью; если использовать только AM, буква A будет интерпретирована буквально, а буква M вернет номер месяца.
Если в шаблоне представления обнаружен элемент AM/PM, фразы H и HH форматируются согласно 12-часовой шкале (12:00-12:59 1:00-11:59), а не по
24-часовой (00:00-23:59).
В следующем примере текущие значения даты и времени равны значениям из предыдущего. Заметим, что запятая должна быть заключена в кавычки, иначе она будет расценена как разделитель аргументов.
$(edtime, $(getvar,date),DDD"," DD MON YYYY - H:MMam/pm)
Полученная в результате строка выглядит так:
Суб, 5 сен 1998 – 4:53am
Если аргумент время равен 0, вместо него берутся дата и время входа в самый внешний макрос. Это позволяет исключить затраты времени на множественные вызовы функции $(getvar,date), и вместе с тем гарантирует, что строки, составленные из нескольких макросов $(edtime), используют одинаковое время.
186 | Глава 5 DIESEL