Создание массива объектов со всеми свойствами родителя

Простейшие вопросы в области инженерной разработки
CCCP33
beginner
beginner
Сообщения: 48
Зарегистрирован: 06 май 2014, 10:30
Версия LabVIEW: 2011, 2015
Откуда: Vldr
Благодарил (а): 1 раз
Контактная информация:

Создание массива объектов со всеми свойствами родителя

Сообщение CCCP33 »

Приветствую! Необходимо получить массив графиков XY Graph со всеми свойствами родителя. С графиками из этого массива необходимо будет работать в дальнейшем (добавлять/заменять имеющиеся плоты и их имена).
Создал кластер с копией XY Graph - см картинки.
С кластером получилось (возможно ли как-то полностью копировать объект вместе со всеми свойствами, а не назначать каждое св-во вручную?). Но массив из этих кластеров как сделать - не знаю :help:
Вложения
1.jpg
2.jpg
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Создание массива объектов со всеми свойствами родителя

Сообщение Artem.spb »

У вас есть ССЫЛКА на график, в ней уже всё есть (точнее, есть доступ ко всем свойствам графика), зачем заранее извлекать?
CCCP33
beginner
beginner
Сообщения: 48
Зарегистрирован: 06 май 2014, 10:30
Версия LabVIEW: 2011, 2015
Откуда: Vldr
Благодарил (а): 1 раз
Контактная информация:

Re: Создание массива объектов со всеми свойствами родителя

Сообщение CCCP33 »

Artem.spb писал(а):У вас есть ССЫЛКА на график, в ней уже всё есть (точнее, есть доступ ко всем свойствам графика), зачем заранее извлекать?
Не уловил мысли. Можно на примере?
Вложения
1.vi
(19.39 КБ) 144 скачивания
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Создание массива объектов со всеми свойствами родителя

Сообщение Artem.spb »

Может я не понимаю сути вопроса?
вы уже взяли ссылку на график. Дальше по необходимости можно вытащить любое свойство.
Или нужно сделать массив одинаковых графиков? Напрямую не получится, только через кластер. Но зачем? Может есть варианты проще?
По поводу переноса всех свойств (если требуется именно оно), то погуглите скрипты. Прямых методов не встречал
CCCP33
beginner
beginner
Сообщения: 48
Зарегистрирован: 06 май 2014, 10:30
Версия LabVIEW: 2011, 2015
Откуда: Vldr
Благодарил (а): 1 раз
Контактная информация:

Re: Создание массива объектов со всеми свойствами родителя

Сообщение CCCP33 »

Artem.spb писал(а):Может я не понимаю сути вопроса?
вы уже взяли ссылку на график. Дальше по необходимости можно вытащить любое свойство.
Или нужно сделать массив одинаковых графиков? Напрямую не получится, только через кластер. Но зачем? Может есть варианты проще?
1. Так я и вытаскиваю из него 3 св-ва и назначаю их элементу кластера (значение, активный плот, его имя). В этом контексте вопрос такой: можно ли как-то просто скопировать разом все свойства этому элементу кластера? (например захочу еще подписи осей или, к примеру, у меня много плотов на родительском графике с именами и мне надо все это на график в кластере..)
2. В том и дело, что мне нужен массив с РАЗНЫМИ графиками
Аватара пользователя
Juri
I/O
I/O
Сообщения: 263
Зарегистрирован: 19 апр 2017, 23:06
Версия LabVIEW: 2021
Благодарил (а): 13 раз
Поблагодарили: 6 раз

Re: Создание массива объектов со всеми свойствами родителя

Сообщение Juri »

У меня похожая задача. Моя прога может включать что-то вроде плагинов - отдельных подпрограмм подключаемых опционально. Для этого надо на лицевой панели динамически размещать Sub Panel. Можно конечно заранее поставить десяток и скрыть их из виду, но хочется сделать кошерно, чтобы объект Sub Panel создавался и удалялся динамически
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Создание массива объектов со всеми свойствами родителя

Сообщение IvanLis »

Usss писал(а):У меня похожая задача. Моя прога может включать что-то вроде плагинов - отдельных подпрограмм подключаемых опционально. Для этого надо на лицевой панели динамически размещать Sub Panel. Можно конечно заранее поставить десяток и скрыть их из виду, но хочется сделать кошерно, чтобы объект Sub Panel создавался и удалялся динамически
Для этого как раз есть инструмент: Sub Panel
https://knowledge.ni.com/KnowledgeArtic ... 0019OX6SAM
https://forums.ni.com/t5/Example-Progra ... -p/3505451
http://labviewportal.org/viewtopic.php?f=35&t=6304

hgQiMnyhMXk
Аватара пользователя
Juri
I/O
I/O
Сообщения: 263
Зарегистрирован: 19 апр 2017, 23:06
Версия LabVIEW: 2021
Благодарил (а): 13 раз
Поблагодарили: 6 раз

Re: Создание массива объектов со всеми свойствами родителя

Сообщение Juri »

К сожалению массива субпанелей сделать не возможно. Пришлось делать чит. Панель в панели, в панели, и т.д.
Точно так же можно сделать массив отдельных объектов.
Вложения
Screenshot_1.png
Subpanel.rar
(39.21 КБ) 94 скачивания
CCCP33
beginner
beginner
Сообщения: 48
Зарегистрирован: 06 май 2014, 10:30
Версия LabVIEW: 2011, 2015
Откуда: Vldr
Благодарил (а): 1 раз
Контактная информация:

Re: Создание массива объектов со всеми свойствами родителя

Сообщение CCCP33 »

Приветствую, собратьев по оружию
В прошлый раз не получил здесь ответа :nono: Полагаю ввиду отсутствия dadremer'a
Попытаю удачу еще раз :suicide:
Задача такая: необходимо передать объект со всеми свойствами(!) по ссылке.
Пример: у меня есть SubVI в которой строится график с легендами плотов, названием, подписями осей и т.д... Необходимо вытащить этот график в VI верхнего уровня полностью и сразу.
Вложения
Question.jpg
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Создание массива объектов со всеми свойствами родителя

Сообщение dadreamer »

CCCP33 писал(а):Полагаю ввиду отсутствия dadremer'a
:shok:

Я, если честно, тогда не понял до конца, что нужно получить в итоге. Теперь понятно. Но единственный способ, который я знаю и сам использую, это сделать "Strict Refnum" целевого объекта и присвоить его свойства текущему объекту: https://forums.ni.com/t5/LabVIEW/copy-a ... 10#M940932 Может, где-то существует магический узел для переноса всех свойств, но мне о нём не известно.
CCCP33
beginner
beginner
Сообщения: 48
Зарегистрирован: 06 май 2014, 10:30
Версия LabVIEW: 2011, 2015
Откуда: Vldr
Благодарил (а): 1 раз
Контактная информация:

Re: Создание массива объектов со всеми свойствами родителя

Сообщение CCCP33 »

Но единственный способ, который я знаю и сам использую, это сделать "Strict Refnum" целевого объекта и присвоить его свойства текущему объекту
Приходится, но не очень удобно - свойств может быть много + чтобы перенести названия плотов надо перебирать каждый ActPlot. Да и вообще по мне с таким подходом рушится концепция SubVI :nono: Как по мне, вышестоящий VI должен иметь право унаследовать объект из SubVI в исходном виде
Может, где-то существует магический узел для переноса всех свойств, но мне о нём не известно.
Хотелось бы верить.. но судя по всему.. :dntknw:
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Создание массива объектов со всеми свойствами родителя

Сообщение Borjomy_1 »

CCCP33, Вопрос в том, а зачем? На вашем месте, я бы задумался о том, что, наверное дизайн программы слишком замороченный, чтобы прибегать к таким мерам. А это первый путь к тому, что конечный пользователь будет путаться. Не говоря уже о том, что график - это сложный объект, компоненты которого в принципе не могут лежать в одной области памяти, чтобы их так просто можно было бы скопировать.
CCCP33
beginner
beginner
Сообщения: 48
Зарегистрирован: 06 май 2014, 10:30
Версия LabVIEW: 2011, 2015
Откуда: Vldr
Благодарил (а): 1 раз
Контактная информация:

Re: Создание массива объектов со всеми свойствами родителя

Сообщение CCCP33 »

Borjomy_1, В том и дело, что это упростило бы работу конечному пользователю. Сейчас сделал просто массив из картинок этих графиков... Но иногда ему бывает необходима более детальная информация на графике, тогда остается только в текстовый лог лезть.. А был бы массив графиков - прощелкал индексы, увеличил интересующую область и глянул, не сворачивая окно программы (работает он на ноутбуке с 15" диагональю..)
Аватара пользователя
ladik

Silver
developer
developer
Сообщения: 275
Зарегистрирован: 18 ноя 2014, 11:45
Награды: 1
Версия LabVIEW: 2015, 2019
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 3 раза
Контактная информация:

Re: Создание массива объектов со всеми свойствами родителя

Сообщение ladik »

Может я не совсем понимаю задачу, а почему бы не хранить данные в массиве кластеров вместе с нужными параметрами отрисвки и при необходимости отрисовывать их на одном и том же графике? Или требуется иметь сразу несколько?
Дорогу осилит идущий.
CCCP33
beginner
beginner
Сообщения: 48
Зарегистрирован: 06 май 2014, 10:30
Версия LabVIEW: 2011, 2015
Откуда: Vldr
Благодарил (а): 1 раз
Контактная информация:

Re: Создание массива объектов со всеми свойствами родителя

Сообщение CCCP33 »

ladik писал(а):Может я не совсем понимаю задачу, а почему бы не хранить данные в массиве кластеров вместе с нужными параметрами отрисвки и при необходимости отрисовывать их на одном и том же графике? Или требуется иметь сразу несколько?
Да, графиков много и они разные. Поэтому и требуется мифический перенос всех свойств в массив кластеров с графиками...
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»