LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to place multiple surfaces on the "new" non-activeX 3d surface graph?

Solved!
Go to solution

Hi -

 

Anyone figured this out?  The strategy below I believe only shows the final plot.

 

multiple-surfaces.PNG

0 Kudos
Message 1 of 9
(2,724 Views)

Hi Don,

 

You appear to be coming at the 3D graphs from the top and I am chasing them from the bottom, SO Ican't help directly but maybe a clue.

 

Working from the first principles I THINK (Don't have it open now to double check) but I think I can use a "Make drawable" and an insert to put the plot into the scene. Whatch out for the refs to object that are inserted changing when inserted.

 

Probably does not help much now but after we figure this critter out, ....

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 2 of 9
(2,720 Views)

Hi Ben -

 

Well I think you are describing a strategy for 3d picture control.  My question has to do with using the non-ActiveX surface graph.  

 

I am interested in doing somewhat the same thing using the 3d picture control in which Jonathan Meyer presented to me a partial solution but is incomplete.

 

Sincerely,

 

Don

0 Kudos
Message 3 of 9
(2,716 Views)

If you look at the Plot Helper VI you'll see a Plot ID input. Wire this to the loop counter (EDIT: sorry, I see you did that).

Also, the "plot reference" is an array, so I guess you have to use a shift register to store it between iterations, but I didn't check.

 

0 Kudos
Message 4 of 9
(2,712 Views)
Solution
Accepted by topic author DonRoth

I did a quick check. When storing the "refs" in a shift register it works.

Else you just insert plot 'i' in an array of empty plots, but the other plots remain empty.

 

 

Message 5 of 9
(2,706 Views)

I think you nailed it on the reference into the shift register.  I am trying to plot 100 surfaces and it is going quite slow. 

 

multiple-surfaces.PNG

 

Thanks, Don

0 Kudos
Message 6 of 9
(2,701 Views)

Do you need to update the plot after adding each of the surfaces? Leaving only the helper VI in the loop, but the indicator outside will speed things up.

Also, in the helper VI there's some dimension checking using 2 nested for loops. If speed is of essence I could imagine that creating a copy of the helper VI without this check improves performance (especially for large arrays).

When you want to go even further you could only use the contructor part of the Helper VI in the loop and use auto-indexing on the 3D surface objects. The Merge Input Data VI doesn't look very efficient (build array), even though this should not matter that much for 100 plots.

 

 

0 Kudos
Message 7 of 9
(2,692 Views)

Well the one thing I did try before your post was attaching the surface graph indicator to the shift register outside of the loop but it does not seem to not make any difference in terms of speed.

 

Thanks,

 

Don

0 Kudos
Message 8 of 9
(2,689 Views)

ps. I would recommend attaching the surface graph indicator to the shift register outside of the for loop.  I think my problem is I just have too many surfaces / too much data.....Don

 

multiple-surfaces.PNG

0 Kudos
Message 9 of 9
(2,686 Views)