From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

3d picture logo

I am looking into using a 3d picture but want part of the image to be always visible in a small portion of the viewport (like a logo).

 

I don't want it ti change size, rotate or otherwise be manipulated, simply be visible and cosntant.

 

Is this possible?  If so, how?

 

Shane.

0 Kudos
Message 1 of 14
(3,467 Views)

Hi Shane,

 

have you already tried to include this as background image to your frontpanel?

Which format (jpeg, png, bmp) is your picture?

 

Best regards,

Abduelkerim

Sales
NI Germany
0 Kudos
Message 2 of 14
(3,448 Views)

Hi Shane,

No Idea.

One way I think of is if its possible to render a different object displaying your logo constantly on 3d picture, problem would be it won't show up as "transparent" really and would look like a patch on the picture control, which doesnt look good.

The other way I could think of is to keep your logo (transparent one) in a 2d picture of a separate vi, remove vi's background layer(using winapi), bind it to your main vi as a child (again using winapi) at a specific position which overlays over your 3d picture control of main vi. If this idea sounds good to you, I have these winapi VIs ready in different examples posted in the community.

 

 

-FraggerFox!
Certified LabVIEW Architect, Certified TestStand Developer
"What you think today is what you live tomorrow"
0 Kudos
Message 3 of 14
(3,435 Views)

Oh, it doesn't have to be transparent.

 

The problem I see is maintining the position in the visible image while panning and zooming......

 

Re-calculating the position and scale for each camera move seems like a brute-force way of doing things and I was hoping for some in-built mechanism for this.

 

Shane

0 Kudos
Message 4 of 14
(3,414 Views)

@ADagli wrote:

Hi Shane,

 

have you already tried to include this as background image to your frontpanel?

Which format (jpeg, png, bmp) is your picture?

 

Best regards,


It's not a picture, it's also a 3d object.

 

Shane.

 

0 Kudos
Message 5 of 14
(3,413 Views)

@Intaris wrote:

I am looking into using a 3d picture but want part of the image to be always visible in a small portion of the viewport (like a logo).

 

I don't want it ti change size, rotate or otherwise be manipulated, simply be visible and cosntant.

 

Is this possible?  If so, how?

 

Shane.


I have also ran into this annoyance where it's not possible to overlay/order FP items to be on top of a 3D Picture control.

It seem to be working on 8.2.1 and older versions, but not on the latest & (greatest) LV2012? 

 

If NI would just care to fix the overlay issue detailed hereSmiley Frustrated

 

Br,

 

/Roger

 

0 Kudos
Message 6 of 14
(3,408 Views)

Intaris wrote:

Re-calculating the position and scale for each camera move seems like a brute-force way of doing things and I was hoping for some in-built mechanism for this.


Just to understand, are you trying to put a logo "on" a 3d shape, which could be moved/panned/zoomed? In short, is it not just a logo sitting on certain corner of your 3d picture control?

If it is meant to be constantly sitting in one position, the WINAPI method does not need re-calculating position logic.

 

-FraggerFox!
Certified LabVIEW Architect, Certified TestStand Developer
"What you think today is what you live tomorrow"
Message 7 of 14
(3,403 Views)

@FraggerFox wrote:

Intaris wrote:

Re-calculating the position and scale for each camera move seems like a brute-force way of doing things and I was hoping for some in-built mechanism for this.


Just to understand, are you trying to put a logo "on" a 3d shape, which could be moved/panned/zoomed? In short, is it not just a logo sitting on certain corner of your 3d picture control?

If it is meant to be constantly sitting in one position, the WINAPI method does not need re-calculating position logic.

 




Nope, I have a completely seperate object which should always be displayed in, say, the bottom left of the viewport.  It has no interaction with any other objects in the scene.  I do not want to go the WinAPI route.

 

Shane.

0 Kudos
Message 8 of 14
(3,394 Views)

You could build a VI by using subvis from following links:

 

1) Get Parent-Child set api here: Go to my reply 12 where I have attached the VIs

2) Get Layer remover api here: Take the subvi which removes layer of the "Loading picture" which pops out

 

Once you get both these APIs, do this programatically:

1) Open your MAIN VI (Which has your 3d picture control)

2) Take the bottom right co-ordinates of the control, and subtract the logo size (This is only one time job, to be done at startup phase)

3) Open the SubVI which consists of your logo only (can be transparent for better feel)

4) Remove the layer of the logo subVI using the API you downloaded (This keeps only the logo, checkout the video where I drag a window behind the loading icon)

5) Make it Child of the MAIN VI by using Parent-Child API and by positioning it to the co-ordinates calculated in (2)

 

I understand that this might not be the best way to have this done, but I don't know of any other solutions as of yet. Certainly, this method needs calculation of position only once*
, supposing that your control in the main VI itself is not dynamically moving one.

 

 

-FraggerFox!
Certified LabVIEW Architect, Certified TestStand Developer
"What you think today is what you live tomorrow"
Message 9 of 14
(3,386 Views)

FraggerFox,

 

I truly appreciate the answer suplied but it's simply an approach I'm not going to follow ATM.  I will file it away for possible future implementation but currently I'd rather skip the functionality than go the WinAPI route.

 

Either way, I've spread a bit of kudos around....

 

Shane.

0 Kudos
Message 10 of 14
(3,374 Views)