LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Saving a 3D Picture object or scene ?

 

I'm using the 3D Picture pallete to try and plot data, which in my case is essentially a large number (thousands) of voxels (extensively using the Create Box.vi). It's a clunky solution, but it works.

 

Is there a way to save the 3D data such that i can reload it easily and toy with display options, without having to recalculate the positions of all of the component objects? 

 

It's not quite clear how to me how the data is managed and I can't see any obvious VI or property that would allow me to save and subsequently reload the combined data directly into a 3D Picture reference.

 

 

0 Kudos
Message 1 of 4
(3,152 Views)

Hello,

 

I cannot see any invoke nothe neither but can you try to use Flatten into String and then Unflatten from String? Maybe that will work.

 

Marcin

              

Think Dataflow - blog.mtapp.tech
0 Kudos
Message 2 of 4
(3,124 Views)

I suspect not.

 

WHen last I was digging around in the weeds of that corner of the garden, the new 3D picture was a variation of the 2D picture which was a LV implementation of HPGL... just a lot of draw commands... move pen to... draw line...

 

The old school CW 3D graph the ohter hand could be saved s an ActiveX object and embedded in any document that supported ActiveX.

 

So I think you will have focus on saving a restoring all of the objects that are used to render the scene.

 

But I do not calim to be an expert. I welcome those that are farther down the 3D path to enlighten me. After all I am here to learn.

 

Just my 2 cents,

 

Ben

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

Sorry to respond over a month late to this question.

 

First, you don't have to recalculate your 3D objects every time you change the display options. You can load your objects into the 3D scene, and then change the display options (clippling planes, perspective, view point, lighting, etc.) as long as you keep the VI running.

 

Second, a 3D scene, including all 3D objects that you added, can be saved as a .dae or .lvsg file and can be reloaded at a later time. I think that the .lvsg format is proprietary to NI but the .dae format can be loaded in other 3D applications (like Blender or Meshlab for example). You have to use an invoke node of the Application class, go down to the Scene item and select "Write Scene File" or "Read Scene File".

 

Finally, there are more efficient ways to plot points in a 3D picture control. Look at the create mesh functions.

 

If interested, join the 3D Vision group.

 

Marc Dubois
0 Kudos
Message 4 of 4
(2,920 Views)