todd Posted August 29, 2013 Report Share Posted August 29, 2013 That's totally OCD! However, why the unnecessary bend on the Event Reg wire? Let me guess, it lines up with the top terminal of your VIs inside the case-structure? Close: the output of the event structure and while loop lines up with Unregister for Events. I've started putting the event registration itself in Actor's class data so it can be unregistered in Stop Core. Now I can get rid of that bend! Quote Link to comment
o u a d j i Posted August 29, 2013 Report Share Posted August 29, 2013 @todd : " The empty string constants in this BD are used for aligning edges of nodes in the cases: " yes, I do that too. Quote Link to comment
Rolf Kalbermatter Posted August 29, 2013 Report Share Posted August 29, 2013 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. It's not about wires going behind VIs without being connected; that is something I have done myself maybe 5 times in over 20 years of LabVIEWing. But seeing to which terminal a wire is really connected. Of course that may seem often unnecessary because of different and incompatible datatypes of the terminals, but can be a real gotcha when a VI has several datatype compatible terminals. And yes it is not as important in my own VIs since I know how I wired them, but inheriting VIs from someone else is always much easier if such rules have been followed. Quote Link to comment
todd Posted August 29, 2013 Report Share Posted August 29, 2013 Name the constants and create a QD plugin that aligns the selected VI with the left of the "left-edge" constant, and the bottom of the "bottom-edge" constant. Quote Link to comment
o u a d j i Posted August 29, 2013 Report Share Posted August 29, 2013 @todd : "Name the constants and create a QD plugin that aligns ... " woaww ... very good idea ! thank you todd Quote Link to comment
hooovahh Posted August 29, 2013 Report Share Posted August 29, 2013 Oh, now I notice that you mentioned functions. I've done that on the front panel. Say I have a hidden tab that I programatically change, but when it changes I want the controls that are between tabs to be in the same location so the change from one tab to the next looks seamless. Never on a BD. Quote Link to comment
o u a d j i Posted August 29, 2013 Report Share Posted August 29, 2013 Some are FP addict, in my case i am a BD addict. Quote Link to comment
Rolf Kalbermatter Posted August 30, 2013 Report Share Posted August 30, 2013 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: Untitled.png Yeah, I sometimes like to align functions inside multiframe structures too, so they are at the same place in all frames. But usually only if they do similar things and as form of meditation, while thinking about the rest of the algorithm. 1 Quote Link to comment
shoneill Posted August 30, 2013 Report Share Posted August 30, 2013 (edited) Yeah, I sometimes like to align functions inside multiframe structures too, so they are at the same place in all frames. But usually only if they do similar things and as form of meditation, while thinking about the rest of the algorithm. I have the feeling some times that this is what takes up about 40% of my time programming LabVIEW...... Ctrl-Mousewheel is your friend here though..... Edited August 30, 2013 by shoneill Quote Link to comment
Rolf Kalbermatter Posted August 30, 2013 Report Share Posted August 30, 2013 I have the feeling some times that this is what takes up about 40% of my time programming LabVIEW...... Ctrl-Mousewheel is your friend here though..... My OCD is not that bad. I can usually contain myself unless I'm working on an algorithm where I lost all inspiration and need some meditation moment! Quote Link to comment
BramJ Posted August 30, 2013 Report Share Posted August 30, 2013 Yeah, I sometimes like to align functions inside multiframe structures too, so they are at the same place in all frames. But usually only if they do similar things and as form of meditation, while thinking about the rest of the algorithm. Sounds very familiar I do the same thing Quote Link to comment
Popular Post jcarmody Posted August 30, 2013 Popular Post Report Share Posted August 30, 2013 My OCD is not that bad. I can usually contain myself unless I'm working on an algorithm where I lost all inspiration and need some meditation moment! In times like that, I give my wires nice round bends. Ctrl-space, Ctrl-w calls my Quick Drop implementation of Vugies Wired Wires. 3 Quote Link to comment
hooovahh Posted August 30, 2013 Report Share Posted August 30, 2013 In times like that, I give my wires nice round bends. Ctrl-space, Ctrl-w calls my Quick Drop implementation of Vugies Wired Wires. Very neat but my CTRL+W is reserved for something else that I've been using and loving, which may one day become part of LabVIEW. https://decibel.ni.com/content/docs/DOC-29452 Quote Link to comment
MikeC3 Posted August 30, 2013 Report Share Posted August 30, 2013 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: Mind...blown I may have to start doing this now. I was still madly switching between cases and shifting things just so. So this seems to be turning from a support group into an enabler... Quote Link to comment
todd Posted August 30, 2013 Report Share Posted August 30, 2013 Ok, support-side: the one that actually wasted my time (instead of allowing meditation, as Rolf mentions) was making sure all the wires had their bumps on the same side (scalar string, scalar path), smooth-edges instead of bumpy edges (1D array of string, path, etc), and on and on. BD's are usually small enough that "Horizontal Gap" doesn't come into play much anymore. Quote Link to comment
hooovahh Posted August 30, 2013 Report Share Posted August 30, 2013 Oh I just thought of one. Lets say I have three case structures aligned vertically. Why is there not a "Minimum Size" or "Maximum Size" like there is for front panel objects? I have these 3 case structures, all doing similar work in parallel, and I want them to align left, space equally vertically, and have the same size. The only satisfying thing to do, is to set one the way I like then copy and paste it so all 3 are the same size. Quote Link to comment
ShaunR Posted August 30, 2013 Report Share Posted August 30, 2013 (edited) Most of these I think could be alleviated just by turning on the alignment grid and "snap to". Edited August 30, 2013 by ShaunR Quote Link to comment
crossrulz Posted August 30, 2013 Report Share Posted August 30, 2013 Oh I just thought of one. Lets say I have three case structures aligned vertically. Why is there not a "Minimum Size" or "Maximum Size" like there is for front panel objects? I have these 3 case structures, all doing similar work in parallel, and I want them to align left, space equally vertically, and have the same size. The only satisfying thing to do, is to set one the way I like then copy and paste it so all 3 are the same size. Been there. I make a RCF Plugin to do that very thing for me. I haven't ported it over to QD yet. Quote Link to comment
MikeC3 Posted September 3, 2013 Report Share Posted September 3, 2013 Most of these I think could be alleviated just by turning on the alignment grid and "snap to". I was wondering when someone would bring the alignment grid into this... Quote Link to comment
fabric Posted September 17, 2013 Report Share Posted September 17, 2013 FWIW, here is an idea I recently posted that addresses one of the major sources of unnecessary bends... Quote Link to comment
John Lokanis Posted October 2, 2013 Report Share Posted October 2, 2013 Love this topic. I have been doing this since the first day I started programming in LabVIEW. I am willing to bet 20% of my coding time has gone to perfecting my BD. But I don't see it as OCD. Just like text programmers will create elaborate function comment blocks using characters to make a pretty box around them and aligning the text inside, I see a well laid out diagram as a means of communicating the operation of the code efficiently. I prefer to position things so the flow is as obvious as possible. I never run wires under objects (unlike *SOME* frequent LAVA posters I know ). I stick to 4224 connectors but I will occasionally convert one to 4124 or 4114 to allow a connection to come in from either the top or bottom, if it makes the diagram cleaner. And I do like to align object in multiple cases. Usually you get this for free when you copy one case to make alternate versions but if it gets out of alignment, I will toggle back and forth to find the issue and nudge it back. One thing I do that I am not sure others do is the wires entering and leaving the side terminals must approach and leave on the horizontal axis. I never allow a wire to connect to the sub-vi from the top or bottom unless it is going to a central terminal. The same goes for all structures. I never have wires enter or leave from the top of bottom. I will add an extra bend in necessary to achieve this. Embrace your OCD. It makes you a better wire-worker! Quote Link to comment
JackDunaway Posted October 3, 2013 Report Share Posted October 3, 2013 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: Untitled.png That's not OCD, that's a fantastic way to ensure your syntax can be synthesized by a measly human. CTRL+Scrolling through your diagrams, the human eye can handily diff similar cases. I'd gladly inherit your code anyday, sir. (I bet, you even understand why "Make Space" inside a structure is reserved only for Sinners) Quote Link to comment
LogMAN Posted October 4, 2013 Report Share Posted October 4, 2013 I think we stick to much to the BD, where the FP also needs much more love As I checked for new ideas in the Idea Exchange, I found an interesting one: Check this link: http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Match-widths-of-Label-and-Caption-input-fields/idi-p/2579739 I like this idea so much that I couln't help but giving it kudos Quote Link to comment
Jordan Kuehn Posted October 4, 2013 Report Share Posted October 4, 2013 What about front panel clean up? Just arrange everything like they are tied to the connector pane and stack unconnected items in the middle. Often in subvi's I just want the left side stacked up in line with the error in and the right side the same with the error out. Quote Link to comment
hooovahh Posted October 4, 2013 Report Share Posted October 4, 2013 What about front panel clean up? Just arrange everything like they are tied to the connector pane and stack unconnected items in the middle. Often in subvi's I just want the left side stacked up in line with the error in and the right side the same with the error out. Very often I will be working on a VI then get frustrated when the block diagram cleanup button is missing...only to realize that I was indeed on the Front Panel. The good news is Jack already has an idea so I don't need to take the time to post it. http://forums.ni.com/t5/LabVIEW-Idea-Exchange/How-about-a-Front-Panel-Cleanup/idi-p/963556 1 Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.