When working in DIAdem SCRIPT, it is often necessary to work on more than one file at once. The way this is implemented at the moment is with tabs:
However, it can be quite tedious to switch back and forth between 2 scripts for things like copy/pasting, comparing code or simply editing code on 2 files concurrently.
My suggestion would be for a SCRIPT editor with split screen functionality, roughly like this:
With many users working with widescreens today, this would better make use of screen real-estate.
I'd like to propose a few improvements to the zoom functionality in DIAdem VIEW that are sorely missing usability-wise:
I think that for points 2 and 3 there are several ways this could be done. I think the focus should be on usability. The user needs to be able to navigate the data as quickly and as efficiently as possible and the current zoom implementation is clearly impractical for many users.
It should be possible to use the code completion functionality for classes one has written, even when the class is in another VBS file and included by “ScriptInclude”. Now that competion feature works only if the class is defined within the same VBS file as one writes the code which uses this class. That would make the developers live much easier, I am sure I am not the only one who writes code which is distributed over several files
Rather than a channel that has a "fixed" value (numeric or string), this new "calculation channel" type would be a function of other channels. Currently, if Channel3 = Channel1 + Channel2, and then I change the values for either Channel1 or Channel2, I have to re-execute the calculation
ChnCalculate("Ch(""Channel3"") = Ch(""Channel1"") + Ch(""Channel2"")")
Now, if there was a "calculation channel" where I could define Channel 3 as "Channel1 + Channel2", I wouldn't need to perform this re-execution!
Another way to explain is to have a channel that works like Excel calculation cells. The cell calculation stays the same, and when the input cells change, the result cell is automatically updated.
I'm not sure if I explained this well, please ask for clarification if necessary.
I've been spoiled by using other scripting environments lately, and thought I'd suggest a few features that I feel would make scripting in DIAdem a little more convenient:
I feel these would be really useful for identifying and fixing bugs (especially for inexperienced script writers) and cleaning up old scripts, while not requiring major changes to the interface (although they could get really annoying if implemented incorrectly, may be difficult to implement in the back end, and may even require manual compilation to detect?).
It would be great to be able to make a link between different pages in a DIAdem report, and have those links carry over into a PDF version of the report. For example, if I had a very large report, it might be useful to be able to create a Table of Contents with links to the different sections of the report.
Currently, the PDF creation process will create bookmarks for the pages, but a link within the document might be easier to use when examining the report.
Diadem currently has a copy function for curves within the user interface, as shown below:
However, there is no copy function within the scripting api. This means to duplicate a curve programmatically multiple functions. one for each of the properties in the curve, need to be called as shown below:
Dim oMyReportObj, oMyNew2DCurve,
Set oMyReportObj = Report.ActiveSheet.Objects.Item(1)
Set oMyNew2DCurve = oMyReportObj.Curves2D.Add(e2DShapeLine, oMyReportObj.Curves2D.Item(oMyReportObj.Curves2D.C
oMyNew2DCurve.Shape.XChannel.Reference = oMyReportObj.Curves2D.Item(oMyReportObj.Curves2D.C
oMyNew2DCurve.Shape.YChannel.Reference = oMyReportObj.Curves2D.Item(oMyReportObj.Curves2D.C
oMyNew2DCurve.Shape.Settings.Line.Width = eLineWidth0100
It would be far easier if there were a call to copy a curve directly:
Dim oMyReportObj, oMyNew2DCurve,
Set oMyReportObj = Report.ActiveSheet.Objects.Item(1)
Set oMyNew2DCurve = oMyReportObj.Curves2D.Copy(1)
I would like active hyperlinks to be allowed in REPORT layouts. For example: http://www.ni.com/diadem/. Clicking on this link (in the REPORT layout) would result in the user's default internet browser to open to the link.
When you have loads of pages in VIEW and would like to print a specific one, there is
1. no option in the print menu to print "selected page", and
2. no way to find out which page number you are currently on, except for counting manually or per script.
Even in the "manage" menu you get no information about it. So any ID link would be great.
Rather than asking for a change to the "Repeat Marker" to plot all the points (we'd prefer "Repeat Marker" in DIAdem VIEW to be "Every N Points" where N = 1 rather than "Up to N Points" where N = 100), I think it would be great if we could have a configurable DIAdem default set of VIEW items that could be saved via usercommand, script, or a file configuration so we could conveniently spread it to our users.
This could include colors, points and/or lines, "Repeat Markers" configuration, line width/size/fill.
The "Repeat Markers" option is the most important to us because we have had users in the past who didn't realize that they were only seeing 100 points of their data, which can be a very bad thing (for example if you've turned off curve color and are looking for outliers in 150 points of data). On the other hand, I can understand not wanting to plot 2 billion points on a graph, hence the ability for an administrative body (or individual users) to configure the graph defaults.
In DIAdem 2011 we now have the ability to conveniently Copy REPORT sheets and Append VIEW sheets, now it'd be great if we could Copy VIEW sheets (with script accessibility, of course).
I know this has been mentioned before, but doesn't have an "Idea Post" so thought I'd add it so it doesn't get lost.
I've noticed that the easiest way to relate a channel calculation back to the original channel is to append to the channel name:
Filtering for *engspeed, or *engspeed_rpm will return all of the above channels, but in my experience I rarely want to see all the additional channels...With enough channels, it can effectively obscure the channel you're looking for!
The simplest way I can think of to obscure these with the current functionality would be to have a stop character ("\"?) to prevent the filter from grabbing anything beyond that point:
*EngSpeed_rpm\ would return anything ending in *EngSpeed_rpm
Another way would be to get rid of the assumed * at the end of the filter, forcing people to put one on themselves when necessary (but that would be changing the current functionality and would likely confuse users at first):
*Engspeed_rpm would return anything ending in *EngSpeed_rpm
*EngSpeed_rpm* would return everything with EngSpeed_rpm inside it
This would also be nice for looking for channels that end in something, like anything ending in *nm\ rather than anything with nm in the name...
I would like to be able to copy a plot to the clipboard, either from View or Report. At the moment I have to use a screen-capture tool like Snippy.
I am introducing DIAdem to our company at the moment and all my colleagues are surprised that DIAdem cannot do this.
When dragging and dropping a channel into a View or Report table from the Data Portal, no matter where you release the channel, it's always appended to the end. This can be frustrating if you have a large number of channels in the table, forcing you to rearrange the table after each channel is added.
I would like to propose the ability to drop channels in-between columns of the table, OR append channels on the end.
I would think that the area you drag the channel into would decide where it inserts:
Between 2 channel headers (anywhere in the "Selected Channels" section or above) = Insert
Anywhere on the "Channel Contents" section, row numbers, or blank area without channels = Append to end
In the DIAdem interface, there are menubar buttons available that allow the user to "Save ___ As...", whether it's a script, SUD, layout, etc. In the script editor, there is also a "Save All" button that saves all of the opened scripts. However, 9 times out of 10 I just want to save the current layout/script/whatever. It would be great to have a standard "Save" button either in addition to or in place of the "Save As..." button in the menubar.
(Yes, I know I can use the keyboard shortcut "Ctrl+S" or click "File --> Save" but these options are not as readily apparent as the "Save As..." or "Save All" icons, so I find myself clicking one of those and then having to click several more times just to get out of it...when all I wanted was a one-click save.)
An added benefit would be (like in the Script editor), if the file has not changed then the "Save" icon could be grayed out. That way the user would know that the current state of the current script/layout/etc was saved to disk.
Still on the toppic "Making Diadem more user friendly", Diadem is really limitated when it goes on X offsets. Somebody who wants in a report to superimpose two curves who do not begin at the same X value have to calcute the offset and set up 2 time chanells to get the whished result. Being able to move the curves yith the öouse or have a dedicated function in report could be helpful.
The easiest (to use and, I suppose, to develop) would be something alike to the "offset korrektur"/"offest correction" but applied for 2 curves. One can either chose a minimal, a maximal or both on the 2 curves and make those 2 to 4 points superimpose. With the 4 points choice, one can imagine that the curves will auto-rescale.
I would like to request th ability to "Freeze" columns in a view table so they stay on the left-hand side of the table as you scroll to the right.
The channel names/properties sticking at the top works brilliantly, but if you want to have a timestamp channel (or Timestamp, Speed, and Torque channels) visible when you have a view table with many channels you have 3 options:
1) Scroll back and forth a lot
2) Add a new occurrance of the channel(s) into the table and move it(them) to the correct spot
3) Have 2 tables side-by-side and vertically scroll them both together manually
I would suggest 2 interfaces to select the columns to freeze at the left hand side of the table:
1) Right-Click menu called something like "Lock Column(s) at Left" or "Freeze Column(s) to Left" (Or just "Lock/Freeze Column(s)")
2) On the "Display" interface, have a "Lock/Freeze Left" checkbox on the columns in the Name/Format table (you may also want to have a "Lock to Left First # Channels" checkbox for the All/All of a group channel table options) This should probably automatically move the columns selected to the top of the list so they appear in the order they will display in the table, as well as allowing the user to rearrange the leftmost columns (if they lock/freeze multiple columns)
The DIAdem R&D team is committed to reviewing every idea submitted via the DIAdem Idea Exchange. However, we cannot guarantee the implementation of any DIAdem Idea Exchange submission until further documented.