1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Динамически меняющиеся выноски

Сценарии / Модули API

Модератор: специалисты Eplan

Ответить

Автор темы
stpiter
здесь недавно
здесь недавно
Сообщения: 2
Зарегистрирован: 12 окт 2023, 10:28
Имя: Петр

Динамически меняющиеся выноски

Сообщение stpiter »

Здравствуйте, пишу программу для генерации обзора модели (ViewPlacement) с автоматическим отрисовыванием выносок с названиями компонентов. Столкнулся с такой проблемой, сейчас вставляю нужное свойство компонентов на страницу в виде текста, но лучше было бы, чтобы вставлялся не текст, а именно PropertyPlacement, однако создать объекты этого класса не получается, т.к. там в методе Create в качестве переменной требуется SymbolReference, который никак не связан с обзором модели. Может кто-нибудь сможет подсказать какое-нибудь решение?
Аватара пользователя

Barmaley4
знаток Eplan
знаток Eplan
Сообщения: 58
Зарегистрирован: 30 окт 2018, 09:17
Имя: Павел
Страна: РФ
город/регион: Москва
Благодарил (а): 2 раза
Поблагодарили: 54 раза

Динамически меняющиеся выноски

Сообщение Barmaley4 »

Да, такая проблема есть, на листах обзора модели нет элементов с привязкой к свойствам с пространства листа.
Я разрабатывал несколько подходов:
1) Для нужных ViewPart генерируется выноска объектом Text с текстом в отдельном слое проекта "выноски". При обновлении или генерации отчёта все объекты слоя сносятся и генерируются заново. Сейчас так и реализовано. Вариация такого подхода - хранить перечень объектов текста, свойств placement3d и объектов viewpart в памяти, например в каком-нибудь свойстве проекта, и при обновлении отчёта обновлять данные связанных об]ектов (viewpart-свойство-text), но реализовано не было, т.к. первый вариант всех устроил.
2) Выносить на обзоре модели не text, а свойство из "порядка свойств" в опциях отображения вида изделия (где все показывают ОУ, а показывать например свойство блока), тогда записывать данные выноски в какое-нибудь свойство блока формат placement3d - тогда Eplan сам будут обновлять данные (т.к. в "свойстве блока формат" можно самому собрать любую конструкцию свойств). Реализовано не было, т.к. требует не простого решения с координатами относительно размера viewpart.
3) создавать отчёт для каждого элемента или группы элементов viewpart/placement3d. Отчёт нужен не шаблонный, а отчёт страничный с опцией "размещается в ручную", тогда по данным элемента можно вывести в текст отчёта любые данные, которые так же будут обновляться в составе обычного обновления. Т.к. в таком виде текст представлять не просто объект Text, а привязанный к отчёту PlaceHolderText. Реализовано не было, т.к. работает способ №1.
Ответить

Вернуться в «Eplan API»