4. Настройка программы
4.1. Параметры работы
ZCAD пока не имеет отдельного окна настроек, настройки постоянно доступны в инспекторе объектов (см. раздел 2. Инспектор объектов) когда на чертеже не выбрано никаких примитивов.
Настройки сгруппированы следующим образом
-
Пути - настройка путей программы
-
Графика - настройка путей программы
-
Отображение - настройка путей программы
-
Система - настройка путей программы
-
Черчение - настройка путей программы
-
Проектирование - настройка путей программы
-
Интерфейс - настройка путей программы
4.1.1. Пути
На данной вкладке сгруппированы пути используемые программой для поиска файлов.
-
Файлы поддержки - пути поиска различных файлов программы
-
Шрифты - пути поиска шрифтов
-
Файл альтернативного шрифта - файл шрифта используемый для замены отсутствующих шрифтов
-
Шаблоны - путь для поиска файлов шаблонов чертежей
-
Шаблон по умолчанию - файл шаблона используемый программой при создании нового чертежа
-
Текущая раскладка окон - файл раскладки окон загружаемый при запуске программы
-
Программа - путь к бинарному файлу (вычисляется при запуске, доступен только для чтения)
-
Временные файлы - путь к папке временных файлов (вычисляется при запуске, доступен только для чтения)
-
База описаний устройств - путь к "базе данных" оборудования программы
В качестве разделителя для путей используется ";", разделитель путей "/", также доступны следующие макросы:
$(ZCADPath) |
Путь к бинарному файлу |
$(LastAutoSaveFile) |
Путь к последнему файлу автосохранения |
$(TEMP) |
Путь к папке временных файлов |
$(SystemFontsPath) |
Путь к папке шрифтов ОС (пока только win, возвращает SHGetSpecialFolderPath(CSIDL_FONTS)) |
$(UserFontsPath) |
Путь к папке шрифтов пользователя (пока только win, возвращает SHGetSpecialFolderPath(CSIDL_LOCAL_APPDATA)\Microsoft\Windows\Fonts) |
4.1.2. Графика
На данной вкладке сгруппированы настройки графической подсистемы зкад
-
Устройство отображения - графическая библиотека используемая для рендера чертежа. Доступны варианты: OpenGL - предпочтительный вариант (требует наличия драйвера производителя видеокарты), GDI - вариант для случая когда первый вариант не работает, LCLCanvas - данный вариант не предназначен для работы с чертежом, но если не работают на OpenGL, ни GDI можно попробовать его. Настройка работает только для вновь открытых/созданных чертежей, уже открытые чертежи по прежнему будут использовать устройство отображения выбранное на момент их создания
-
Параметры текущего устройства отображения - здесь собраны некоторые настройки и отладочная информация устройства отображения используемого текущим чертежом
-
Версия GLU - версия библиотеки GLU используемая программой (используется для триангуляции и построения сплайнов, ZCAD не может работать с реализацией GLU от Microsoft, в комплекте поставляется MESA GLU) (доступен только для чтения)
-
Расширения GLU - список расширений предоставляемый GLU (доступен только для чтения)
-
Время рендера - время в миллисекундах затраченное на последнее полное отображение чертежа (доступен только для чтения)
-
Время обновления - время в миллисекундах затраченное на последнее последнее обновление чертежа. Для экономии ресурсов ZCAD старается по возможности не перечерчивать весь чертеж, а только обновлять его измененные фрагменты (доступен только для чтения)
-
Максимальное время одного прохода рендера - время в миллисекундах доступное на рендер чертежа, в случае его превышения ретдер будет остановлен и продолжен в следующем цикле обработки событий. 0 - возможность не используется (доступен только для чтения)
-
Ухудшение изображения - параметры управления детализацией отрисовки чертежа. При включении и превышении порога времени рендера, детализация чертежа будет уменьшаться для уменьшения времени отрисовки
-
Деградация при перетаскивании - При включении понижает детализацию чертежа при выполнении операций зумирования и паранамирования, для повышения отзывчивости. при завершении данных операций чертеж отрисовывается с нормальной детализацией
-
Максимально шаблонов типа в линии - Максимально доступное количество штрихов\точек\символов в примитивах, при превышении примитив будет отрисован сплошной линией
4.1.3. Отображение
-
Системная геометрия - отображение некоторой вспомогательной информации, например габаритов примитивов
-
Цвет вспомогательной геометрии - цвет для вывода информации из предыдущего пункта
-
Масштаб колеса мыши - коэффициент масштабирования чертежа при вращении колеса
-
Размер апертуры привязки - размер в пикселях зоны "притягивания" курсора к точкам привязки
-
Размер прицела - размер в процентах от размера видимой области графического курсора ZCAD
-
Убирать системный курсор в области отрисовки - опция отключает системный курсор при черчении, оставляя только курсор ZCAD
-
Размер ручек - размер "ручек" редактирования примитивов
-
Цвет фона - RGB цвет фона чертежа
-
Цвет не выбранных ручек - индексный цвет "ручек" примитивов
-
Цвет выбранных ручек - индексный цвет выбранных "ручек" примитивов
-
Цвет горячих ручек - индексный цвет "ручек" находящихся под курсором
-
Масштаб отображения толщин линий - число от 2 до 20 характеризующее толщину отображения веса линий на чертеже, больше - жирнее
-
Толщина линий по умолчанию - толщина линий принятая для отображения веса линий Default
4.1.4. Система
-
Версия программы - версия сборки в формате git describe --tags (доступен только для чтения)
-
Информация о сборке - разная информация: целевая платформа, версия компилятора и т.п. (доступен только для чтения)
-
Время работы - длительность текущей сессии (доступен только для чтения)
-
Один экземпляр - контроль повторного запуска программы. При установке данного параметра возможен запуск только одной сессии программы, попытки запустить следующую сессию только активируют уже запущенную
-
Не показывать заставку - отключение сплэш скрина при запуске программы
-
Не загружать раскладку окон - не загружает файл раскладки окон программы при старте, программа запускается в "не пристыкованном" режиме (доступен только для чтения, устанавливается ключем командной строки !!NEEDLINK!!)
-
Обновления PO файлов - режим контроля и обновления файлов локализации программы, используется совместно с командой UpdatePO !!NEEDLINK!! (доступен только для чтения, устанавливается ключем командной строки !!NEEDLINK!!)
4.1.5. Сохранение
-
Автосохранение - включает работу автосохранения
-
Время до автосохранения - время в секундах оставшееся до очередного автосохранения (доступен только для чтения)
-
Время между автосохранениями - настройка времени между сохранениями в секундах
-
Файл автосохранения - путь и имя файла автосохранения
4.1.6. Черчение
-
Отображать вес линий - Включение отображения веса линий
-
Режим привязки - Битовая маска настроек привязок. в данном месте просто для информации, не используется
-
Режим полярной трассировки - Включение трассировки
-
Текущий слой - отображает и позволяет редактировать текущий слой
-
Текущий вес линии - отображает и позволяет редактировать текущий вес линии
-
Текущий вес цвет - отображает и позволяет редактировать текущий цвет
-
Масштаб типов линий чертежа - отображает и позволяет редактировать глобальный масштаб типов линий чертежа
-
Текущий масштаб типов линий примитивов - отображает и позволяет редактировать текущий масштаб типов линий
-
Стиль размеров - отображает и позволяет редактировать текущий стиль размеров
-
Поворачивать текст в описании линий - Поворачивает текстовые элементы в стилях линий для более удобного чтения
-
Стиль текста - отображает и позволяет редактировать текущий стиль текста
-
LUnits (формат линейных единиц) - аналог DXF переменной LUnits
-
LUPrec (точность линейных единиц) - аналог DXF переменной LUPrec
-
AUnits (формат угловых единиц) - аналог DXF переменной AUnits
-
AUPrec (точность угловых единиц) - аналог DXF переменной AUPrec
-
AngDir (направление положительного угла) - аналог DXF переменной AngDir
-
AngBase (базовый угол) - аналог DXF переменной AngBase
-
InsUnits (масштаб вставки блока) - аналог DXF переменной InsUnits
-
TextSize (размер вновь созданных текстовых примитивов) - аналог DXF переменной TextSize
-
Настройка шаговой привязки - настройки привязки к регулярной прямоугольной сетке
-
Шаг сетки - настройки отображения регулярной прямоугольной сетки
-
Показать сетку - включение отображения сетки
-
Шаг - включение шаговой привязки
-
Редактирование составных объектов - включение отдельного выделения примитивов являющихся частью сложных примитивов !!NEEDLINK!!
-
Вспомогательная геометрия - отображение вспомогательной геометрии
-
Отображать выбранный объект в инспекторе - показывать свойства выбранного примитива в инспекторе
4.2. Структура директорий
Общая структура директорий программы имеет вид:
Дистрибутив разбит на 3 директории bin, cfg, data
Директория bin содержит исполняемые файлы и может распологаться в любом месте файловой системы
Директория cfg может распологаться либо лядом с bin либо ее содержимое должно находиться в C:\ProgramData\zcad\ (на линуксе в /etc/zcad/)
Директория data может распологаться либо лядом с bin либо местоположение ее содержимого должно быть указано в ключе PreferredDistribPath в файле cfg\configs\config.xml
Отдельно стоит рассмотреть содержимое директории data/preload:
При запуске программы осуществляется сканирование data/preload и вложенных директорий и выполнение найденных скриптов cmd0 и cmd скрипты с расширением cmd0 выполняются на ранней стадии запуска программы (до создания GUI) и содержат в себе команды загрузки описаний экшенов, меню и тулбаров. Файлы с расширением cmd выполняются при завершении инициализации, после создания GUI и содержат в себе команды загрузки файлов определений блоков и устройств.
При сканировании директорий первым будет выполнен скрипт stage0.cmd0 далее будут выполнены все фпйлы с расширением cmd0 лежащие в данной директории и ниже по иерархии файловой системы. Для каждой вложенной директории также первым выполняется autorun.cmd и далее другие скрипты \*.cmd лежащие в данной директории
4.3. Переключатели командной строки
При запуске ZCAD из командной строки можно задать опции командной строки корректирующие его поведение. Некоторые опции работают как флаги, некоторые опции требуют указания аргументов
nosplash |
Не показывать сплэшскрин |
updatepo |
Обновить файлы локализации (используется совместно с командой UpdatePO) ведет учет всех запросов на локализацию, помечает не используемые и добавляет вновь встреченные строки. При использовании ключа фактически перевод строк не производится, интерфейс остается английским |
noloadlayout |
Не загружать файл раскладки окон |
debugui |
Включить "отладочный" интерфейс - некоторые элементы интерфейса для разработчика |
experimentalfeatures |
Включить "экспериментральные" фичи - то что разрабатывается на данный момент не закончено и не нужно пользователю |
notcheckuniqueinstance |
Не проверять повторный запуск, с данным ключом может быть запущено несколько копий программы |
logfile |
Принудительно задать путь к лог файлу. Требует аргумент - путь и имя файла |
leam |
Принудительно разрешить все модули логирования |
lem |
Принудительно разрешить указанный модуль (модули) логирования. Требует аргумент(ы) - имя модуля(лей) |
ldm |
Принудительно запретить указанный модуль (модули) логирования. Требует аргумент(ы) - имя модуля(лей) |
lemm |
Принудительно разрешить модули логирования чьи имена соответствуют маске(кам). Требует аргумент(ы) - маску(ки) имени модуля(лей) |
ldmm |
Принудительно запретить модули логирования чьи имена соответствуют маске(кам). Требует аргумент(ы) - маску(ки) имени модуля(лей) |
lcl |
Установить уровень логирования. Требует аргумент - уровень логирования |
maxstackframecount |
Установить максимальную глубину размотки стека при обработке ошибок |
runscript |
Запустить скрипт(ы) после запуска программы. Требует аргумент(ы) - Имя файла(ов) скрипта(ов) |
memprofiling |
Запуск профилировщика памяти на этапе инициализации программы. см. команду dbgMemProfiler !!NEEDLINK!! |
LM_Trace |
Вывод всего подряд. Максимально подробный и перегруженный лог. |
LM_Debug |
Журналирование моментов вызова «крупных» операций |
LM_Info |
Разовые операции, которые повторяются крайне редко, но не регулярно. (загрузка конфига, плагина, запуск бэкапа) |
LM_Warning |
Неожиданные параметры вызова и т.п. Вообще все, что может свидетельствовать о не штатном использовании. |
LM_Error |
Вывод сообщений об ошибках. |
LM_Fatal |
Вывод сообщений об критических ошибках, имхо стоит убрать. |
LM_Necessarily |
Вывод в любом случае. |
При штатном запуске программы используется LM_Info как текущий уровень. В лог попадают сообщения текущего уровня и уровней ниже по таблице, все что выше фильтруется
Список доступных модулей логирования пока не определен, его можно посмотреть в конце лога при штатном запуске
Пример запуска программы:
zcad nosplash logfile d:\zcad.log lem translator,shx ldm default lcl lm_trace
Не показывать сплэшскрин,переназначить вывод лога в d:\zcad.log, разрешить вывод сообщений в лог от системы (модуля) перевода и парсера shx шрифтов, запретить сообщения модуля по умолчанию, установить уровень логирования LM_Trace