Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
developers:tutorial:plan_export_rules [2023/04/05 18:40] proxor [Применение правила оформления плана] |
developers:tutorial:plan_export_rules [2023/04/06 07:50] (текущий) proxor [Разработка правила оформления плана] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | <note important>Раздел в разработке</note> | + | |
+ | ---- | ||
===== Разработка правила оформления плана ===== | ===== Разработка правила оформления плана ===== | ||
==== Введение ==== | ==== Введение ==== | ||
- | Программный комплекс Топоматик Робур предоставляет пользователю возможность генерировать плоские чертежи топографических планов в популярных обменных форматах. Генерация примитивов на чертеже плана происходит по принципу **What You See Is What You Get** («что видишь, то и получишь»). Другими словами, экспортированный чертёж будет максимально похож на визуальное представление плана в окне Робура. | + | Программный комплекс [[http://topomatic.ru|Топоматик Робур]] предоставляет пользователю возможность генерировать плоские чертежи топографических планов в популярных обменных форматах. Генерация примитивов на чертеже плана происходит по принципу **[[https://ru.wikipedia.org/wiki/WYSIWYG|What You See Is What You Get]]** («что видишь, то и получишь»). Другими словами, экспортированный чертёж будет максимально похож на визуальное представление плана в окне Робура. |
Часто исполнителю необходимо дорабатывать чертёж в соответствии с требованиями к оформлению плана предъявленными заказчиком. Например, требуется заменить типы линий, разбить вставки блоков, изменить цвет определённых примитивов и т.д. Для того, чтобы чертёж экспортировался в соответствии с уникальным требованиями, в программном комплексе Топоматик Робур предусмотрена возможность использования **правил оформления плана**. **Правила оформления плана** применяются при **создании чертежа**. | Часто исполнителю необходимо дорабатывать чертёж в соответствии с требованиями к оформлению плана предъявленными заказчиком. Например, требуется заменить типы линий, разбить вставки блоков, изменить цвет определённых примитивов и т.д. Для того, чтобы чертёж экспортировался в соответствии с уникальным требованиями, в программном комплексе Топоматик Робур предусмотрена возможность использования **правил оформления плана**. **Правила оформления плана** применяются при **создании чертежа**. | ||
- | **Правило оформления плана** - это текстовый файл с расширением **".py"**, который содержит инструкции на диалекте **IronPython** языка программирования **Python**. | + | **Правило оформления плана** - это текстовый файл с расширением **".py"**, который содержит инструкции на диалекте **[[https://ironpython.net/|IronPython]]** языка программирования **[[https://www.python.org/|Python]]**. |
- | Особенностью диалекта **IronPython** является возможность взаимодействия с **библиотеками классов** платформы **.Net** используемыми в программном комплексе **Топоматик Робур**. Более подробную документацию **IronPython** можно изучить здесь https://ironpython.net/documentation/. В текущей статье мы рассмотрим только те инструкции **IronPython**, которые необходимые для написания **правила оформления плана**. | + | Особенностью диалекта **IronPython** является возможность взаимодействия с **библиотеками классов** платформы **.Net** используемыми в программном комплексе **Топоматик Робур**. Более подробную документацию **IronPython** можно изучить пройдя по **[[https://ironpython.net/documentation/|ссылке]]**. В текущей статье мы рассмотрим только те инструкции **IronPython**, которые необходимые для написания **правила оформления плана**. |
==== Создание и редактирование правила оформления плана ==== | ==== Создание и редактирование правила оформления плана ==== | ||
- | Для создания и редактирования **правила оформления плана** можно воспользоваться любым удобным для вас текстовым редактором, но лучше всего использовать редакторы способные подсвечивать синтаксис кода на языке **Python**, например **VS Code** или **Sublime**. | + | Для создания и редактирования **правила оформления плана** можно воспользоваться любым удобным для вас текстовым редактором, но лучше всего использовать редакторы способные подсвечивать синтаксис кода на языке **Python**, например **[[https://code.visualstudio.com/|VS Code]]** или **[[https://www.sublimetext.com/|Sublime]]**. |
==== Применение правила оформления плана ==== | ==== Применение правила оформления плана ==== | ||
Строка 31: | Строка 33: | ||
В нижней части окна мастера вы увидите флажок **"Применить правило оформления"**. Установив этот флаг, станут активными список используемых **правил оформления плана** и кнопки **Добавить** и **Удалить**. | В нижней части окна мастера вы увидите флажок **"Применить правило оформления"**. Установив этот флаг, станут активными список используемых **правил оформления плана** и кнопки **Добавить** и **Удалить**. | ||
- | <note>По умолчанию, в списке правил уже присутствует **правило оформления плана** **"gugk.py"**, изменяющее чертёж плана в соответствии с требованиями кодификатора условных знаков **ГУГК** (Государственное Управление Геодезии и Картографии). Правило "**gugk.py**" разработано сотрудниками Топоматик и входит в стандартный пакет установки программных продуктов Робур.</note> | + | <note>По умолчанию, в списке правил уже присутствует **правило оформления плана** **"gugk.py"**, изменяющее чертёж плана в соответствии с требованиями кодификатора условных знаков **ГУГК** (Главное Управление Геодезии и Картографии). Правило "**gugk.py**" разработано сотрудниками Топоматик и входит в стандартный пакет установки программных продуктов Робур.</note> |
{{ :developers:tutorial:plan_export_rules:tut_plan_decoration_rule_5.png?nolink |}} | {{ :developers:tutorial:plan_export_rules:tut_plan_decoration_rule_5.png?nolink |}} | ||
Строка 44: | Строка 46: | ||
Создайте текстовый файл с расширением **".py"**. По умолчанию, **правила оформления плана** располагаются в директории ''c:\ProgramData\Topomatic\Robur <TYPE>\16.0\Support\''. Пользовательские правила рекомендуется располагать там, но вы можете расположить их в любом другом доступном месте. | Создайте текстовый файл с расширением **".py"**. По умолчанию, **правила оформления плана** располагаются в директории ''c:\ProgramData\Topomatic\Robur <TYPE>\16.0\Support\''. Пользовательские правила рекомендуется располагать там, но вы можете расположить их в любом другом доступном месте. | ||
- | https://learn.microsoft.com/ru-ru/dotnet/standard/class-libraries | + | |
- | **Библиотеки классов .Net (DLL сборки)** - бинарные файлы с расширением **".dll"**, содержащие описание классов объектов, их состояния и методов взаимодействия с ними. | + | **[[https://learn.microsoft.com/ru-ru/dotnet/standard/class-libraries|Библиотеки классов .Net (DLL сборки)]]** - бинарные файлы с расширением **".dll"**, содержащие описание классов объектов, их состояния и методов взаимодействия с ними. |
Для подгрузки **DLL сборок** в **IronPython** служит модуль **clr** | Для подгрузки **DLL сборок** в **IronPython** служит модуль **clr** | ||
Строка 53: | Строка 55: | ||
</code> | </code> | ||
- | После того как модуль загружен, можно приступить к подгрузке **DLL сборок**. Для этого воспользуемся методом ''clr.AddReference(assembly_name)'' и передадим в него имя сборки без расширения. Предположим, в процессе работы правила вам потребуется прочитать **XML-файл**. Для этого подгрузим сборку **"System.Xml.dll"**. Так же подгрузим сборку **"Topomatic.Dwg.dll"** для работы с примитивами чертежа. Добавьте следующие строки в правило. | + | После того как модуль загружен, можно приступить к подгрузке **DLL сборок**. Для этого воспользуемся методом ''clr.AddReference(assembly_name)'' и передадим в него имя сборки без расширения. Предположим, в процессе работы правила вам потребуется прочитать **XML-файл**. Для этого подгрузим сборку **"System.Xml.dll"**. Так же подгрузим сборку **"Topomatic.Dwg.dll"** для работы с примитивами чертежа. Добавьте следующие строки в файл правила. |
<code python> | <code python> | ||
clr.AddReference("System.Xml") | clr.AddReference("System.Xml") | ||
Строка 92: | Строка 94: | ||
blocks = drawing.Blocks | blocks = drawing.Blocks | ||
- | # Коллекция размерных стилей (DimensionStyles) | + | # Коллекция размерных стилей (DwgDimensionStyles) |
dimension_styles = drawing.DimensionStyles | dimension_styles = drawing.DimensionStyles | ||
Строка 105: | Строка 107: | ||
</code> | </code> | ||
- | Подробнее о работе с чертежом можно узнать в разделе руководства **Работа с примитивами чертежа** FIXME(ссылка). | + | Подробнее о работе с чертежом можно узнать в разделе руководства **[[developers:tutorial:drawing|Работа с примитивами чертежа]]**. |
=== Пример правила оформления === | === Пример правила оформления === |