DIAdem Idea Exchange

Community Browser
cancel
Showing results for 
Search instead for 
Did you mean: 
Post an idea

Having Python as a scripting language is great, however, Python is not (yet) supported to develop user dialogs. Dialogs must be developed using VBS. While a Python script file can be run from a dialog using VBS, this leads to many Python files containing snippets of code. Updating the approach for GUI (SUD) development would be a welcome improvement.

Some Python plotting modules have an HTML output for Python graphs (Bokeh and Plotly, for example), and Plotly specifically has some really cool interactive HTML plots.  It would be great to have a simple HTML Display Type in VIEW to be able to view these plot outputs!

I would like a feature where you can add extra paths in DIAdem's Python implementation for user-specific Python library directories.

 

In Visual Studio Code you can edit the settings.json to add paths to:

  • python.analysis.extraPaths (for importing)
  • python.autoComplete.extraPaths (for autocompletion)

JoshRew_0-1642107684799.png

 

So stuff imported from "C:\Repositories\Python\MyLibraryOther\__init__.py" is directly visible on import alongside stuff in SitePackages:

JoshRew_1-1642107684803.png

 

I've been able to add further locations to the active DIAdem Python Path via to use programmatically:

import site
site.addsitedir('C:/Repositories/Python/')

 

With that, I can "use" the script contents from both "Other" and "Site-Packages" items:

JoshRew_2-1642107685010.png

 

But currently I can only "see" items located within the Site-Packages folder:

JoshRew_4-1642107684831.png

 

-Josh Rewerts

Errors occuring in Diadem user commands result in all running scripts aborting without any clear sign of the reason. The only means to find out is the log file in Diadem Script.

Support says this in a feature, as user commands are supposed to handle events and there should be no (frequent) error messages.

On the other side, user commands are the ideal place to have a user functions library as it is accessible from everywhere including dialogs. With ScriptInclude command such a library has to be included at every script start and possibly several times as dialogs have a separate script environment.

 

Therefore I would welcome an option to turn on error messages / beep when there is an error in user commands.

The current behaviour of silent abortion of any script is quite confusing, especially for people that are only applying scripts for evaluation.

Other IDE programs (like PyCharm or Visual Studio Code) have an "autosave" feature which is very useful! After a certain amount of time, the script you are working on is auto-saved (if it has been saved).  

I understand that DIAdem is not a console application, but a GUI-application.  Therefore, a python command like

 

val = input("Enter value: ")

 

will not work because sys.StdIn and sys.StdOut are not available.  However, this isn't well-documented and the error given isn't very helpful. 

 

There are other more complicated outputs that I have seen in the console area of my regular Python IDE (I usually use PyCharm) that fail with very unrecognizable errors in DIAdem Python, usually a string of errors in many scripts that looks very intimidating!  

 

It seems that DIAdem is just grabbing the simple "print" statements from Python scripts, and nothing else works.  This would be ok if these errors could be bypassed somehow?

I'm a student in my last year of studies and I'm not that good working with scripts.

I work with Diadem to analyze my real-time data,  and when i import the excel files ( One year of data gathered in excel files separately ) into Diadem my columns change automatically to text format So i guess the solution in to write a script to convert my channels into Numeric format?

  Capture.PNG

Today I was trying to find the SCRIPT command for "Converting Numeric Channels into XY-Channels" and could not easily find it or record a script to find it. So two requests here: (1) when recording a script, output the script or have a message that says 'sorry!' and (2) update the help with the correct script functions, similar to the other channel conversion functions.

 

I tried to record a script, executing the ANALYSIS function "Channel Functions -> Channels <-> XY Channels", but nothing showed up in the recorded script.  

 

Looking up the help reference for "Channels <-> XY-Channels" only shows how to display the dialog, Call SUDDlgShow("Main", ResourceDrv & "AnaChnToXYChn")


All of the other "channel conversion" help documents show how to do this in SCRIPT, for example, "Numeric Channels <-> Complex Channels" shows "

ChnConvertNumericToComplex", similar for the Numeric to Time, Waveform, etc. My proposal is below:

 

Script Call:

Call SUDDlgShow("Main", ResourceDrv & "AnaChnToXYChn")

 

Set Group = Data.Root.ChannelGroups(1)

Set XChannel = Group.Channels(1)

Set YChannel = Group.Channels(2)

Set YChannel.XRelation = XChannel