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

Простейшие вопросы в области инженерной разработки

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

Postby CCCP33 on 01 Jun 2018, 11:33

Приветствую! Необходимо получить массив графиков XY Graph со всеми свойствами родителя. С графиками из этого массива необходимо будет работать в дальнейшем (добавлять/заменять имеющиеся плоты и их имена).
Создал кластер с копией XY Graph - см картинки.
С кластером получилось (возможно ли как-то полностью копировать объект вместе со всеми свойствами, а не назначать каждое св-во вручную?). Но массив из этих кластеров как сделать - не знаю :help:
Attachments
1.jpg
2.jpg
CCCP33
beginner
beginner
 
Posts: 22
Joined: 06 May 2014, 10:30
Location: Зеленоград
LabVIEW Version: 2011
Karma: 0

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

Postby Artem.spb on 01 Jun 2018, 12:09

У вас есть ССЫЛКА на график, в ней уже всё есть (точнее, есть доступ ко всем свойствам графика), зачем заранее извлекать?
Artem.spb
expert
expert
 
Posts: 1542
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 252
CLD hardware I/O VIP freelance

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

Postby CCCP33 on 01 Jun 2018, 12:19

Artem.spb wrote:У вас есть ССЫЛКА на график, в ней уже всё есть (точнее, есть доступ ко всем свойствам графика), зачем заранее извлекать?

Не уловил мысли. Можно на примере?
Attachments
1.vi
(19.39 KiB) Downloaded 50 times
CCCP33
beginner
beginner
 
Posts: 22
Joined: 06 May 2014, 10:30
Location: Зеленоград
LabVIEW Version: 2011
Karma: 0

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

Postby Artem.spb on 01 Jun 2018, 12:54

Может я не понимаю сути вопроса?
вы уже взяли ссылку на график. Дальше по необходимости можно вытащить любое свойство.
Или нужно сделать массив одинаковых графиков? Напрямую не получится, только через кластер. Но зачем? Может есть варианты проще?
По поводу переноса всех свойств (если требуется именно оно), то погуглите скрипты. Прямых методов не встречал
Artem.spb
expert
expert
 
Posts: 1542
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 252
CLD hardware I/O VIP freelance

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

Postby CCCP33 on 01 Jun 2018, 13:04

Artem.spb wrote:Может я не понимаю сути вопроса?
вы уже взяли ссылку на график. Дальше по необходимости можно вытащить любое свойство.
Или нужно сделать массив одинаковых графиков? Напрямую не получится, только через кластер. Но зачем? Может есть варианты проще?

1. Так я и вытаскиваю из него 3 св-ва и назначаю их элементу кластера (значение, активный плот, его имя). В этом контексте вопрос такой: можно ли как-то просто скопировать разом все свойства этому элементу кластера? (например захочу еще подписи осей или, к примеру, у меня много плотов на родительском графике с именами и мне надо все это на график в кластере..)
2. В том и дело, что мне нужен массив с РАЗНЫМИ графиками
CCCP33
beginner
beginner
 
Posts: 22
Joined: 06 May 2014, 10:30
Location: Зеленоград
LabVIEW Version: 2011
Karma: 0

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

Postby Usss on 13 Jun 2018, 17:42

У меня похожая задача. Моя прога может включать что-то вроде плагинов - отдельных подпрограмм подключаемых опционально. Для этого надо на лицевой панели динамически размещать Sub Panel. Можно конечно заранее поставить десяток и скрыть их из виду, но хочется сделать кошерно, чтобы объект Sub Panel создавался и удалялся динамически
Usss
user
user
 
Posts: 86
Joined: 19 Apr 2017, 23:06
LabVIEW Version: 2017
Karma: 10

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

Postby IvanLis on 13 Jun 2018, 19:20

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


Для этого как раз есть инструмент: Sub Panel
https://knowledge.ni.com/KnowledgeArtic ... 0019OX6SAM
https://forums.ni.com/t5/Example-Progra ... -p/3505451
viewtopic.php?f=35&t=6304


https://www.youtube.com/watch?v=hgQiMnyhMXk
User avatar
IvanLis
professor
professor
 
Posts: 4756
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 744
hardware VIP bloggers teachers

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

Postby Usss on 27 Jun 2018, 20:33

К сожалению массива субпанелей сделать не возможно. Пришлось делать чит. Панель в панели, в панели, и т.д.
Точно так же можно сделать массив отдельных объектов.
Attachments
Screenshot_1.png
Subpanel.rar
(39.21 KiB) Downloaded 40 times
Usss
user
user
 
Posts: 86
Joined: 19 Apr 2017, 23:06
LabVIEW Version: 2017
Karma: 10

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

Postby CCCP33 on 25 Feb 2019, 18:10

Приветствую, собратьев по оружию
В прошлый раз не получил здесь ответа :nono: Полагаю ввиду отсутствия dadremer'a
Попытаю удачу еще раз :suicide:
Задача такая: необходимо передать объект со всеми свойствами(!) по ссылке.
Пример: у меня есть SubVI в которой строится график с легендами плотов, названием, подписями осей и т.д... Необходимо вытащить этот график в VI верхнего уровня полностью и сразу.
Attachments
Question.jpg
CCCP33
beginner
beginner
 
Posts: 22
Joined: 06 May 2014, 10:30
Location: Зеленоград
LabVIEW Version: 2011
Karma: 0

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

Postby dadreamer on 25 Feb 2019, 20:40

CCCP33 wrote:Полагаю ввиду отсутствия dadremer'a

:shok:

Я, если честно, тогда не понял до конца, что нужно получить в итоге. Теперь понятно. Но единственный способ, который я знаю и сам использую, это сделать "Strict Refnum" целевого объекта и присвоить его свойства текущему объекту: https://forums.ni.com/t5/LabVIEW/copy-a ... 10#M940932 Может, где-то существует магический узел для переноса всех свойств, но мне о нём не известно.
User avatar
dadreamer
professor
professor
 
Posts: 3258
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 812
I/O VIP vision internet

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

Postby CCCP33 on 26 Feb 2019, 15:28

Но единственный способ, который я знаю и сам использую, это сделать "Strict Refnum" целевого объекта и присвоить его свойства текущему объекту

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

Хотелось бы верить.. но судя по всему.. :dntknw:
CCCP33
beginner
beginner
 
Posts: 22
Joined: 06 May 2014, 10:30
Location: Зеленоград
LabVIEW Version: 2011
Karma: 0

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

Postby Borjomy_1 on 27 Feb 2019, 13:48

CCCP33, Вопрос в том, а зачем? На вашем месте, я бы задумался о том, что, наверное дизайн программы слишком замороченный, чтобы прибегать к таким мерам. А это первый путь к тому, что конечный пользователь будет путаться. Не говоря уже о том, что график - это сложный объект, компоненты которого в принципе не могут лежать в одной области памяти, чтобы их так просто можно было бы скопировать.
Borjomy_1
expert
expert
 
Posts: 1866
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 320
VIP

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

Postby CCCP33 on 15 Mar 2019, 10:19

Borjomy_1, В том и дело, что это упростило бы работу конечному пользователю. Сейчас сделал просто массив из картинок этих графиков... Но иногда ему бывает необходима более детальная информация на графике, тогда остается только в текстовый лог лезть.. А был бы массив графиков - прощелкал индексы, увеличил интересующую область и глянул, не сворачивая окно программы (работает он на ноутбуке с 15" диагональю..)
CCCP33
beginner
beginner
 
Posts: 22
Joined: 06 May 2014, 10:30
Location: Зеленоград
LabVIEW Version: 2011
Karma: 0

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

Postby ladik on 15 Mar 2019, 10:29

Может я не совсем понимаю задачу, а почему бы не хранить данные в массиве кластеров вместе с нужными параметрами отрисвки и при необходимости отрисовывать их на одном и том же графике? Или требуется иметь сразу несколько?
Дорогу осилит идущий.
User avatar
ladik
adviser
adviser
 
Posts: 227
Joined: 18 Nov 2014, 11:45
Location: Астана
Medals: 1
Silver (1)
LabVIEW Version: 2011, 2015
Karma: 87
hardware I/O VIP

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

Postby CCCP33 on 15 Mar 2019, 10:42

ladik wrote:Может я не совсем понимаю задачу, а почему бы не хранить данные в массиве кластеров вместе с нужными параметрами отрисвки и при необходимости отрисовывать их на одном и том же графике? Или требуется иметь сразу несколько?
Да, графиков много и они разные. Поэтому и требуется мифический перенос всех свойств в массив кластеров с графиками...
CCCP33
beginner
beginner
 
Posts: 22
Joined: 06 May 2014, 10:30
Location: Зеленоград
LabVIEW Version: 2011
Karma: 0

Next

Return to Для чайников

Who is online

Users browsing this forum: Baidu and 2 guests

cron