Свойства документа
Начиная с версии R15 DWG-файлам можно, как и другим документам, устанавливать стандартный набор описательных свойств (SummaryInfo).
Свойства могут вызываться из контекстного меню Проводника, файловых менеджеров (например, Total Commander) и из файлового навигатора ruCAD.
Начиная с версии ruCAD-3D для установки свойств используется стандартный диалог, а дополнительные параметры спрятаны в отдельном надежном месте внутри DWG-файла и изменяются оп необходимости в отдельном диалоге.
Для облегчения заполнения свойств документа также используются шаблоны.
Заготовка свойств по умолчанию находится в файле %SettingsDir%\templates\DwgPropsIni.templ.
Туда можно записать постоянные для фирмы или исполнителя свойства, например:
Title=
Subject=Корпус 15 гостиницы "Каир"
Author=ООО "Рога и копыта", Паниковский М.С.
Comments=Паниковский вас всех купит и продаст!
Keywords=рога копыта panikovsky
Свойства из этого файла будут считываться, если не найдены более приоритетные. Кроме того, свойства могут (но не обязательно) считываться из INI-файла рисунка.
Пример.
Допустим, пользователь делает однотипную работу и предпочитает именовать файлы коротко и одинаково (что не очень-то и хорошо). Он придумал систему, по которой всегда план подвала называется PL_00.dwg, план 1 этажа PL_01.dwg и т.д.
В таком случае имеет смысл копировать в каталог соответствующие INI-файлы из предыдущих проектов, даже если самих DWG еще нет. Так же можно поступить и с DIRINFO.INI.
При этом в INI-файлы можно заранее внести секцию со значениями по умолчанию, например в файл PL_01.ini записать:
Title=План на отметке 0.000
Subject=Корпус 15 гостиницы "Каир"
Author=Паниковский М.С.
Comments=План 1 этажа, фрагменты, базовая точка на пересечении осей 1 и А
Keywords=геркулес рого копыта реконструкция
Теперь, если пользователь создаст новый PL_01.dwg, то в SummaryInfo будет записаны эти значения.
Свойства рисунка могут устанавливаться полуавтоматически.
Возможны следующие варианты.
1. SummaryInfo отсутствует.
Возможно, если это новый файл, созданный из шаблона без свойств, или файл, созданный в старой версии AutoCAD, или файл, в который просто ничего не записали.
В этом случае ruCAD:
а) Читает описание файла из dirinfo.ini и помещает его в поле Название (Title).
б) Заглядывает в файл имя_рисунка.ini и читает значения из секции AcadDWGProperties
Title, Subject, Author, Comments, Keywords.
При этом, если значение Title не пустое, то оно заменяет значение, полученное из dirinfo.ini.
Почему данные из INI-файла рисунка имеют приоритет?
Потому, что туда они заносятся пользователем или сознательно, или программно. Изменить их хоть и просто, но не каждый это делает. Изменить описание файла в навигаторе может любой, причем многократно. Например, в INI-файле рисунка записано "условно-постоянное" название "План на отм. 0.000", а при навигации описание в DIRINFO.INI исправлялось сначала на "План с недоделками", потом на "План готовый".
в) Если какое-то значение Title, Subject, Author, Comments, Keywords осталось пустым, оно читается из файла
%SettingsDir%\templates\DwgPropsIni.templ
2. SummaryInfo имеется частично.
В этом случае ruCAD:
а) Если поле Title пустое, читает описание файла из dirinfo.ini и помещает его в поле Название (Title).
б) Проверяет наличие значений полей Subject, Author, Comments, Keywords и, если какое-либо из них пустое, берет их значения из файла имя_рисунка.ini из секции AcadDWGProperties и соответствующих переменных Subject, Author, Comments, Keywords.
в) Если какое-то значение Title, Subject, Author, Comments, Keywords осталось пустым, оно читается из файла
%SettingsDir%\templates\DwgPropsIni.templ
Шаблоны чертежей
Шаблоны чертежей в системе ruCAD не имеют такого значения, как при работе с "голым" AutoCAD. Все настройки производятся автоматически при создании нового чертежа в зависимости от масштаба печати вкладки Model и наименования единиц, выбираемых пользователем.
Шаблоны могут использоваться для применения заготовленного оформления - форматы, основные надписи, компоновки.
Шаблоны чертежей ruCAD хранятся отдельно от шаблонов AutoCAD в папке
%LocalAcadCurrVersionDir%\Template\
При инсталляции ruCAD в эту папку записывается несколько шаблонов для примера. Пополнять шаблоны можно командой Сохранить как шаблон.
Эти шаблоны выбираются при создании файла командой стартера.
Другие шаблоны
В папке %SettingsDir%\Templates\ имеются и некоторые другие шаблоны:
- Файл: _ru-color-rgb-list.lst
Назначение: Список для конвертирования цветов. Изменять не следует!
- Файл: user_menu_template.ruxm
Назначение: Шаблон для Мое XML-меню. Содержит типовые примеры использования.
- Файл: FormatObozn.ruxt
Назначение: Шаблон для конструктора обозначений документов. Используется Мастером формата.
- Файл: XmlMenuMacro.templ
Назначение: Сборник строк, каждая из которых является шаблоном для макроса XML-меню. В строке может быть псевдоним %LSP%, заменяемый в редакторе макроса на имя файла.
Пример строки:
(ru-app-load "%LSP%")
Используется в классификаторе слоев и редакторе XML
- Файл: scales_list.txt
Назначение: Список масштабов, используемый при установке свойств чертежа и при формировании списка масштаба аннотаций после удаления дюймовых масштабов.
- Файл: UserStr.TXT
Назначение: Сборник строк, используемых в качестве словаря в диалоге ввода строки.
Шаблон acaddoc.lsp
Для того, чтобы все функции ruCAD были доступны в AutoCAD стартером автоматически создается файл %LocalAcadCurrVersionDir%\acaddoc.lsp.
Этот файл автоматически загружается в каждый чертеж. Так как файл acaddoc.lsp является текстовым, в него, при необходимости, можно записать какие-то дополнительные выражения. Разумеется для этого пользователь должен очень хорошо понимать, что он делает. Подавляющему большинству пользователей это не требуется, но для квалифицированных специалистов может понадобиться изменение этого файла, например, чтобы автоматически загружать еще и собственные программы.
Редактировать файл %LocalAcadCurrVersionDir%\acaddoc.lsp бесполезно - он создается заново при каждом запуске AutoCAD из стартера и при изменении настроек. Редактировать нужно файл шаблона
%SettingsDir%\Templates\acaddoc.lsp.
Обычно шаблон имеет примерно такой вид:
(vl-load-com)
(setq
*ru_root_dir* "%RU_ROOT_DIR%"
*ru_acad_version* "%RU_ACAD_VERSION%"
*ru_acad_version_r* "%RU_ACAD_VERSION_R%"
*ru_acad_menu* "%RU_ACAD_MENU%"
*ru_profile_name* "%RU_PROFILE_NAME%"
*ru_common_dir* "%RU_COMMON_DIR%"
*ru_app_data_dir* "%RU_APP_DATA_DIR%"
*ru_help_dir* "%RU_HELP_DIR%"
*ru_archives_dir* "%RU_ARCHIVES_DIR%"
*ru_docs_dir* "%RU_DOCS_DIR%"
*ru_layers_dir* "%RU_LAYERS_DIR%"
*ru_libs_dir* "%RU_LIBS_DIR%"
*ru_add_dir* "%RU_ADD_DIR%"
*ru_xml_menu_dir* "%RU_XML_MENU_DIR%"
*ru_xml_images_dir* "%RU_XML_IMAGES_DIR%"
*ru_topo_dir* "%RU_TOPO_DIR%"
*ru_main_ini* "%RU_MAIN_INI%"
*is_win_nt* %RU_IS_WIN_NT%
*ru_user_login* "%RU_USER_LOGIN%"
*ru_user_title* "%RU_USER_TITLE%"
*ru_user_long_name* "%RU_USER_LONG_NAME%"
*ru_user_department* "%RU_USER_DEPARTMENT%"
*ru_user_work_dir* "%RU_USER_WORK_DIR%"
*ru_user_workspace* "%RU_USER_WORKSPACE%"
)
(if (equal (load (strcat *ru_common_dir* "Libs\App\common\ru-lib-main.fas") "Failed") "Failed")
(alert "Не загружена библиотека ruCAD. Работа в ruCAD невозможна.")
(progn
(ru-express-load)
(ru-init-start-rucad)
(ru-app-load-3d-lib)
)
)
;;; END TEMPLATE
В шаблоне используются псевдонимы наподобие %RU_ROOT_DIR%, заменяемые на реальные значения.
Вот в этот шаблон и можно вписать собственный код. Здесь мы никаких рекомендаций по написанию кода не даем, так как кому это нужно, тот знает, а остальным знать не обязательно.