Инструменты пользователя

Инструменты сайта


developers:tutorial:plan_export_rules

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
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|Работа с примитивами чертежа]]**.
  
 === Пример правила оформления === === Пример правила оформления ===
developers/tutorial/plan_export_rules.1680720014.txt.gz · Последние изменения: 2023/04/05 18:40 — proxor