Jump to content

Anyone else OCD about alignment and positioning in block diagrams?


Recommended Posts

Posted
I'm okay with this for the same reason.

 

But I would rather be consistent.  Look at the sample I posted with the TDMS functions.  That gets me every time that I need to be one pixel off whenever that palette is used.  I would rather they were consistent with 5-3-3-5 (or what ever they picked).

 

But I would say that 4-2-2-4 is my standard and very rarely deviate from it.  But just as the style guide is a guide, I would say that a 4-2-2-4 setup should not be strictly enforced and if I were king of LabVIEW I wouldn't ban anyone if they used another.

 

I ran into a crappy behaviour of 5-3-3-5 the other day.  I thought I'd be smart (You just know how that's going to end up really) and wanted to connect up two VIs with the same conpane pattern (5-3-3-5) but have them vertically staggered so that the top two connectors of one VI lined up with the bottom two of the next one.

 

Lo and behold, even LabVIEW can't make 32 divided by 5 equal an integer and there was an extremely annoying 1-pixel bend.

 

This may be also the background to some of NI's own 1-pixel benders.

  • Like 1
Posted
hooovahh - alter-ego of crelf and king of LabVIEW

 

I like it!

I started calling myself LabVIEW Overlord as a joke, because people throw around the term Guru all the time.  Only now it sound pretensions when someone introduces me as the LabVIEW Overlord.  Also someone may take that as me pretending I'm better then a NI Knight, which wasn't the intent either.

 

Lo and behold, even LabVIEW can't make 32 divided by 5 equal an integer and there was an extremely annoying 1-pixel bend.

 

This may be also the background to some of NI's own 1-pixel benders.

Lets not be rational here.  We can all agree it is NI's fault and I demand they fix it.  Can't they just have 6.4 pixels per terminal?

Posted
I started calling myself LabVIEW Overlord as a joke, because people throw around the term Guru all the time.  Only now it sound pretensions when someone introduces me as the LabVIEW Overlord.  Also someone may take that as me pretending I'm better then a NI Knight, which wasn't the intent either.

That's why I like my title of "Archetype". Old and experienced; one of the original blueprints familiar with the arcane arts of LabVIEW ;)

Posted

I am definitely a pixel-pusher.  Gives me something to do when I can't figure out how to fix my crappy code. :P

  • Like 1
Posted

Now, I know that I am no longer alone on this Earth.

I am a compulsive "pixel pusher" too.

I can spend hours to align a Block Diagram, down to the pixels.

It's a pity that it's not possible to align up to half pixel. :yes:

And moreover, I like very much that, it is a real pleasure.

 

Smiley-tout-fou.gif

Posted

So, what does everyone do when connecting a 4-2-2-4 VI to a 5-3-3-5? (top and bottom connections like VISA handle, error cluster)

 

Do you hide the bends under one of the icons to get nice straight lines, or do you insist on creating a false bend in one of the wires and then align the verticals symmetrically? 

 

post-949-0-10365400-1377686499.png

Posted
So, what does everyone do when connecting a 4-2-2-4 VI to a 5-3-3-5? (top and bottom connections like VISA handle, error cluster)

 

Do you hide the bends under one of the icons to get nice straight lines, or do you insist on creating a false bend in one of the wires and then align the verticals symmetrically? 

 

Must. Hide. Bends.

Posted
So, what does everyone do when connecting a 4-2-2-4 VI to a 5-3-3-5? (top and bottom connections like VISA handle, error cluster)

 

Do you hide the bends under one of the icons to get nice straight lines, or do you insist on creating a false bend in one of the wires and then align the verticals symmetrically? 

 

attachicon.gifhow do you.png

 

Never hide bends!! That is über evil! :P  But reduce them as much as possible by aligning the nodes on the error cluster.

Posted
Never hide bends!! That is über evil!

 

Over what must be by now multiple decades of interaction, I never ever ever ever thought I'd say this:

 

Rolf, you are WRONG!

 

:P :P

  • Like 2
Posted
Over what must be by now multiple decades of interaction, I never ever ever ever thought I'd say this:

 

Rolf, you are WRONG!

 

:P :P

 

I can understand that sentiment :D

But my rule comes from the fact that if I move a VI (by nudging it one pixel up and to the side with the cursor) to see if the wires are correctly attached to the right terminal, and yes that has been and is always one of my first methods when debugging code that appears to behave strangely, I want to see the wires move with it so I know approximately that they indeed are attached to the terminal they appear to. With hidden bends you don't have that at all and need to move the node sometimes many steps to see if they really attach correctly. And shift-cursor is not a good way to do it.

 

And to Shaun and others, be happy I'm not in the LabVIEW development team. I would penalize any VI call that is not using the 4*x*x*2 connector pane by an extra 1 ms delay, and document it as a special optimization in the compiler of the 4*x*x*4 connector pane pattern. :cool:

Posted
I can understand that sentiment :D

But my rule comes from the fact that if I move a VI (by nudging it one pixel up and to the side with the cursor) to see if the wires are correctly attached to the right terminal, and yes that has been and is always one of my first methods when debugging code that appears to behave strangely, I want to see the wires move with it so I know approximately that they indeed are attached to the terminal they appear to. With hidden bends you don't have that at all and need to move the node sometimes many steps to see if they really attach correctly. And shift-cursor is not a good way to do it.

Too many hours on Linux :D Double-click will highlight the entire wire and show all kinks, even if behind a primitive ;)

 

And to Shaun and others, be happy I'm not in the LabVIEW development team. I would penalize any VI call that is not using the 4*x*x*2 connector pane by an extra 1 ms delay, and document it as a special optimization in the compiler of the 4*x*x*4 connector pane pattern. :cool:

Wouldn't be any worse than using classes :D They've already put in optimisations to increase compile times and code base by 500% for them ;)
Posted
Too many hours on Linux :D Double-click will highlight the entire wire and show all kinks, even if behind a primitive ;)

 

I think that is triple-click. For some reasons I can't get myself to use that, but that could be also because I do not have a super-duper gaming mouse nor any experience in playing shooter games, or most any other computer games for that matter :D

Posted
Must. Hide. Bends.

No this just hides the problem (but I understand the urge).  Bends must happen in LabVIEW, and the style guide must mentions unnecessary wire bends.  This bend is necessary.

 

I choose the error wire be straight first.

Posted
I think that is triple-click. For some reasons I can't get myself to use that, 

You don't triple click?  I do it quite often.

 

I colleagues of mine once told me a story of trying to help his neighbor get some files off of a USB stick.  This guy didn't have a lot of experience with computers.  So he went over and plugged in the stick and showed him the files and how to navigate Windows Explorer.  He then said you right click the file an choose Copy.  The neighbor quickly snapped back "Oh I don't right click, is there another way?".  He told me this story as if it was the guys religious preference or something that it would go against his moral code to right click.  

 

Accept the new doctrine of triple click my friend.

Posted

Once in a while I'll download VIs from NI forums. I have to make sure I have not had any coffee, yet, otherwise I get sucked in to the vortex of cleaning up ALL of the code.

Straight error wires with non-hidden bends. The nudge-to-check-connection also works for putting the 1px bend in the horizontal middle of the wire.

 

Has anyone mentioned having to line up all the input and output terminals of case and event structures, and for and while loops? That one slows me down a little, sometimes.

Posted

With Case Structure, I align a maximum of functions and wires between cases.

 

When i scroll cases, some functions and wires don't move.   :yes:

 

(ditto with Event Structure)

Posted

I'll see your scrolled-case-wires-don't-move and raise you my scrolled-case-VIs-and-controls-don't move. The empty string constants in this BD are used for aligning edges of nodes in the cases:

 

post-107-0-69933000-1377802438.png

 

Oh, now I notice that you mentioned functions.

  • Like 2
Posted

And here I thought I was bad about trying to align things up between cases.  Looks like I'm just normal and everybody else I have worked with are just sloppy.

Posted

I have a slightly different approach when matching 4x VIs to 5x VIs (or more often 3x for the many Vision anomalies) - my preference is to keep the VI icons fully aligned, and hide bends on both the top and bottom wires behind the non-4x VI.  That seems to me to minimize the internal stress of the block diagram (i.e. makes me happiest).

 

I almost never run into Rolf's problem within knowing whether a wire is attached because I work hard not to have any wires going behind unconnected VIs - if it's touching, then it's attached.  Oh, and I don't mind triple-clicking.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.