06-09-2011 09:54 AM
Hi -
Anyone figured this out? The strategy below I believe only shows the final plot.
Solved! Go to Solution.
06-09-2011 10:14 AM
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
06-09-2011 10:21 AM
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
06-09-2011 10:24 AM - edited 06-09-2011 10:31 AM
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.
06-09-2011 10:37 AM
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.
06-09-2011 10:48 AM - edited 06-09-2011 10:53 AM
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.
Thanks, Don
06-09-2011 11:00 AM
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.
06-09-2011 11:05 AM
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
06-09-2011 11:23 AM - edited 06-09-2011 11:32 AM
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