Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Analysis

Batch Processing

...

ID

JIRA

SUMMARY

DETAILS

0

ORG-15752

Clone Import should trigger recalculation

Clone Import will trigger recalculation, even though the Recalculation is Manual.

0

ORG-17791

Import data with Start New Columns mode will not overwrite empty columns with merged column labels

If user merges some column labels e.g. Comments and import mode is set as Start New Columns. Then Origin will treat the merged column as a unit and check if 1st column in the unit is blank or not. If blank, import into it. If not, start new column after the unit and import there. 

System vairable @DCM=1;//disable check merged labels. Then Origin will work the old way before 2018b. Import into empty columns in the unit.

0

ORG-17791

Import data with Start New Columns mode will overwrite columns with missing values before creating additional columns

Columns with missing values are still treated as columns with data. In the past, when user tried to import multiple data into same sheet with Multi-File Import mode set to Start New Columns, data will be imported into new columns after missing values columns. In 2018b, data will be imported into those missing value columns.


0

ORG-16460

Start New Sheet import mode should extend to allow more sheets

Maximum number of sheets in one book is 1024, so when Start New Columns to import more than 1024 files, will automatically create new book for importing later files if number of sheets in current Workbook arrives 1024.

...

ID

JIRA

SUMMARY

DETAILS

0

ORG-17786

Customer Report on OPJU issues

Customer‘s OPJU Crashing on load. 

0

ORG-17263

Autosave is now available for Untitled.opj

In the past, you must have project saved once in Origin and then if it's dirty, every 12 minutes (by default), the project will be autosaved in case Origin crashes. But sometimes user started a new project and had never saved it. Then Origin didn't autosave it at all and if Origin crashed, there was no autosave. 

Note: If Origin is closed normally, no autosave will be kept since Origin always prompt user to save.

0

ORG-17786

Customer Report on OPJU issues

Customer‘s OPJU Crashing on load. 

0

ORG-17647

Improve Project Backup Mechanism

  • Each Origin project will have its own backup file.
  • Set system variable @PBO=0 to go back to old behavior. Only one Backup.opj/opju under User Files folder for last saved project file.
  • Access Project Backup Folder via Help: Open Folder: menu in Origin or from Windows Start menu.
  • Change Backup folder location on System Paths tab of Tools: Options dialog.

0

ORG-17471

Option to default to old OPJ format for saving projects

A new system variable:
@OPJ=
0 Project to use new format and Copy Paste also new format
1 Project to use old format but Copy Page to use new format
2 Project to use new format, but Copy page to use Old format
3 Both will use old format

0

ORG-16878

Optional better handling of worksheet with large number of sparklines that may slow down opening projects.

When a worksheet contains sparklines, prior to Origin 2018b, all sparklines had to be drawn on project loading even if they were not visible. This slowed down initial rendering of the worksheet significantly.

A new system variable in 2018b addresses this issue by specifying how Origin should save EMF images of the sparklines:

@SIC=
0 Save all sparkline images in the OPJU.
-1 Don't save any sparkline images in project.
7000 (Default) If individual sparkline is < 7000 bytes then save it in the project.

Note: This system variable is persistant- it will be remembered across Origin sessions. It should be set from the Script Window or Command Window and not in the System Variables dialog.

0

ORG-16878

Optional faster rendering of graphs when many are shown at once and/or overlapped

When many graphs are shown and/or overlapped, complete rendering (painting) of all of them may take a considerable amount of time if the graphs contain a lot of data. Up until Origin 2018b, each graph had its own setting specifying that if 70% of the graph is covered it would not repaint. Now in Origin 2018b there is a system variable to change this behavior on a global basis.

@NPP=
0 (Default) Use existing setting in graph- same as old behavior.
1-100 Percentage that must be uncovered before repainting is triggered.
>100 (e.g.101) Only repaint the currently active graph. Do not attempt to repaint other graphs.

Note: This system variable is persistent- it will be remembered across Origin sessions. It should be set from the Script Window or Command Window and not in the System Variables dialog.

0

ORG-17295

Save files to or open files from Google Drive

Location of TempSave folder has been moved into a subfolder in ProgramData folder to avoid conflicts with Google Drive. Also, Origin better handles cases where user's Documents folder is located on a network drive.

...

ID

JIRA

SUMMARY

DETAILS

0

ORG-17477

Copy and paste entire worksheet across multiple Origin sessions.

Right-click on the sheet tab, two new context menu items are available.

  • Copy Sheet
  • Paste as New Sheet

Use Copy Sheet to copy current sheet with all information(including the header lines and structure) into the clipboard, and then use Paste as New Sheet to paste it as a new sheet from the clipboard into a new layer or new window.

LabTalk command is also provided,

clip -cs; /// copy active sheet
clip -ps; /// paste sheet to active book from clipboard, if possible
clip -psn; /// paste sheet to new book from clipboard, if possible

0

ORG-17790

Export ASCII to support ignore empty columns

Add a checkbox named as "Ignore Ending Empty Columns", to control ascii export, to ignore empty columns from the end, with the following options:

0 = no ignore (current way, default)

1 = ignore all empty columns after the last column with data, meta data not considered, and column with all missing values are considered empty.

This is used only if export selection is not chosen.

0

ORG-16407

Stack Columns tool check numeric for group identifier label row

In Stack Columns, choose a label row as Group Identifier, then Origin will check if all value is numeric and not set it as categorical in the result.

0

ORG-17796

Stack Columns tool will maintain column plot designation for Other columns

Keep column plot designation for other columns in the Stack Columns result.

0

ORG-16882

Support Excel column notation in condition string for Counif() function

For Averageif(), Countif(), and Sumif() function, you can use Excel column name in condition string argument now. E.g,
countif(a, "A>0") //Before Origin 2018b, must use countif(a, "col(A)>0")

Also, the performance of these functons is improved.

0

ORG-16509

Support for custom formatting of User Parameter rows in Worksheet

From Origin 2018b, user is allowed to set data format for a Parameter row or a User-Defined parameter row. This option is provided in Worksheet Properties dialog.

0

ORG-17976

Support more numeric format like Excel

  • #5
  • Percent: #%, #.00%

     

  • Proper fraction # ##/##, # #/8, # #/4, # #/10, etc. and Improper fraction #/#, #/4, #/10, #/100. ##/##, etc.

     

  • Degrees, minutes, seconds (DMS), D MS, DM, DMF

     

0

ORG-17285

Support more options when Copy Columns to

Copy Columns to is a useful way to copy columns from one sheet to other sheets and keep the linking. But some settings in source columns are not copied. Added in Origin 2018b.

...

ID

JIRA

SUMMARY

DETAILS

0

ORG-17882

Better legend position when Fitting Layers to Page

Add the option -L to the page -FLS command

page -FLS -L; //fit layers to page so as to leave room on the right side for the legend. No gap between layer and legend.
page -FLS -L 0.03 -m 0.04 //fit layers to page, with space (3% of page) btween layer and legend, margin on edge of page is 0.04.
To use the -L option, the following must be true:
  • Graph contains a single layer.
  • There is one (and only one) legend object.
  • Scale Elements (Format: Layer Properties > Display tab) must be Fixed Factor.

0

ORG-16780

Customize Layer/Plot/Axes properties across all ayers

By checking what you want to customize together on Layers tab of Page level of Plot Details dialog, and then go to a layer to customize settings, all layers will be customized together.

0

ORG-17570

Easier notation for adding labels when merging multiple graphs, including support for Roman numerals

Set Label Text as Custom and click the dropdown list to see Custom notations.

Notations can be combined, e.g. h$n$ to show #1, #2, ....

a$ (default) – enumerate lower case letters
A$ – enumerateupper case letters
r$ – enumerate lower case roman numerals 
R$ – enumerate upper case roman numerals 
n$ or # – enumerate numbers
h$ – represent #

Graph## – Graph01, Graph02, ...

hsn$ means #1, #2, ....

Labtalk Script example:

merge_graph labeltext:=custom labelcustom:=h$n$;

Tip: Click the > button next to Dialog theme and choose Generate Script, executable Labtalk script will be created.



0

ORG-17426

Easier way to show/hide error bars and data labels from Object Manager

0

ORG-17052

Enlarged graph using scale-in tool supports multiple overlapped layers

If layers are linked with 1:1 X axis and area, choose Scale In toolbar button and click in graph to create enlarged graph. Plots in all linked layers show in enlarged graph.

 

0

ORG-17707

Fit all layers to maximum available page area, including option for margins.

Margin control to fit all layers in graph into page area nicely.

User stories:

  • There are too much white space outside the layer. User wants to make the margin tigher.
  • Some text, axis title, or layer shows in gray area, so they will not be printed/exported. Use this tool to fit them into page siie.

0

ORG-17617

Improve the assignment of columns to layers for multi-panel plots

When number of x cols <= number of layers, use x col as separator to plot into layers; When number of x cols > number of layers, pop up error message: When number of x cols > number of layers, pop up error message. Add X Column" to the "Group By" combo in Multiple Panels by Label tool dialog.

For example, if data is organized as XYYYXYY and user asks for a 2-panel plot, the first three Y columns will be plotted in layer 1, and the last two Y colums will be plotted in layer2.

0

ORG-16861

Integrate Gadget now supports marking of Fill Area under multiple curves


0

ORG-17823

Keep Aspect Ratio check box at Page level, to resize page

This allows user to specify desired page width for publishing, and Origin can then scale the height accordingly to keep the aspect ratio, if this check box is checked.

All elements in the graph will be scaled such that they "appear" the same in the final graph in terms of relative dimensions such as font size etc. MAY NOT work fully yet for elements such as color scale, and for 3D graphs.


0

ORG-17749

New LT command to force all layers to have scale factor fixed but keep the look

Select menu Graph: Fix Scale Factors...to open dialog, and you will allow to set all layers to fixed scale factor value and maintain current look.

LabTalk command is also available,

0

ORG-17840

Page size change to keep same look

Automatically scale all elements similar to the work with fix scale factor.

System variable @PSM controls the minimum change to trigger size update.  Set @psm=100, elements will not resize when changing page size.

0

ORG-14451

Rename Plot Groups instead of just using g1, g2, ... in Object Manager

Right click g1, g2, ... node in Object Manager to give a meaningful group name. 

Such group name will show in

  • Layer Contents dialog as tooltip
  • Data menu
  • Context menu when right clicking on graph

0

ORG-17402

Support for grouping and ungrouping of data plots in Object Manager

In Object Manager,

  • Right click group node, e.g. g1 to Ungroup.
  • Right click a plot that doesn't belong to any group and Set as Group Begin. Then Origin will find all consecutive plots below it that have same plot type and group them.

0

ORG-17878

Support Tagging Sheet as Exclude from Plotting Dialog

Some users have a lot of worksheets in project. And it's hard to select which sheet to plot.

In Origin 2018b, User can exclude some worksheets from showing in Plot Setup and Layer Contents dialogs by right clicking worksheet(s) and tag as "Exclude from Plotting Dialogs". 

...

ID

JIRA

SUMMARY

DETAILS

0

ORG-17377

More controls added to Bubble Scale

Add Bubble Edge Thickness in Layout tab.

0

ORG-17496

More flexible color scale object, including arbitrary color scale

  • show color scale for 2d plots colors.
  • show an independent color scale.

0

ORG-17379

Scale factor for fill pattern entries in legend. Applies only to Geology patterns.

For example, code

 \L(1, PatternScale:p200) 

means set both X scale and Y scale of pattern to 2. 

0

ORG-17094

System variable to control double-click legend behavior

@LDC=1 -- Double clicking legend opens Properties dialog
@LDC=0 (default) - Double clicking legend goes into in-place edit mode (old behavior in versions before Origin 2018)

...

Miscellaneous

Origin Workspace

ID

JIRA

SUMMARY

DETAILS

0

ORG-17801

New menu and improvements to quickly set up and apply Master Page elements such as logos and timestamps to all graphs.

New menu item to open and customize Master Page and apply to all graphs.

Miscellaneous

DETAILS

ID

JIRA

SUMMARY

0

ORG-14614

Add a new option to Object Manager

Right click the empty area or Graph level in Object Manager to switch view in order of Appearance or View in Drawing Order.

0

ORG-17409

Bottom panel of Project Explorer no longer lists folders

We are working on supporting moving windows in bottom panel to reorder them. If there are folders in subfolder, it's hard to reorder windows. So we hide folder in bottom panel.

  • Folder structure will only show in top panel. 
  • Set system variable @PEF=1 to show folder in bottom panel
  • When mousing over folder in top panel, tooltip will show about folder comments, size, etc. 

...

ID

JIRA

SUMMARY

DETAILS

0

ORG-15771

LabTalk: Getting the information about the cell link that is in a cell with labtalk

Imporve cell() function to return cell link imformation

  • cell(row,col,1): return cell link type
  • cell(row,col,1)$: return the raw reference string

0

ORG-17047

LabTalk: LabTalk function to converts text to a number

Syntax:

NumberValue(str$[, decimal$, group$])

0

ORG-17752

LabTalk: LabTalk Hex related functions to handle bigger values

  • Improve hex2dec(), hex() functions to support 48 bits integer
  • Support "0x" prefix. E.g, hex2dec("0x10A") returns 266
  • Dec2hex() function support places argument. E.g, Dec2hex(10,3)$ returns "00A"

0

ORG-17687

LabTalk: New command to remove dividers

 Labtalk command to remove divider:

page -ADX -<opt> dividerindex;


Labtalk command to restore dividers:

page -ADGR;

0

ORG-17750

LabTalk: Skip Columns when Plotting and after Plotting

-pc option is added in Worksheet and Set commonds.

//to make plot woksheet -pc plottype template startIndex Increment;
//to modify, %C will need to automatically find group head set %C -pc startIndex Increment
If Increment is a negative number e.g. -N, it means span and plot N plots.

Examples:

Highlight all columns and run
1. worksheet -pc 200 line 2 3 //start from col B, every 3rd col is plotted so i got B, E, H, K, .... in graph.
2. worksheet -pc 200 line 2 -10 //start from column B, span the whole data and pick 10 columns to plot. I got B, O, AB, AO, BB, BO, CB, CO, DB, DO columns plotted.

First plot all data. With graph window active, run
1. set %c -pc 2 3; //start from column B, every 3rd col is plotted.
2. set %c -pc 2 -10; //start from column B, span the whole data and pick 10 columns to plot. I got B, O, AB, AO, BB, BO, CB, CO, DB, DO columns plotted.

0

ORG-14663

LabTalk: Support for programming way to control Master Item display

S2: Programming way to view Master Items on Screen LT

page.master = 0, not export the Master item.
page.master = 1, export the Master item, but not view it on screen. page.master = 2, for screen, but ignore if bit 1 not set

However, if page.master = 1,  can use LT script "Menu -e 33096" to toggle viewing Master items on screen, but cannot control it.

0

ORG-17435

Labtalk:  function Unique() to find unique members of a column in SCV

Unique(vs, [sort, occurence])

E.g.

Unique(A) – get unique value/strings in column A with ascending order

Unique(A, 2) — get unique values/strings in column A with descending order

0

ORG-17642

LabTalk:  New command to turn on audit log for all projects.

new LT command

doc -log1; //turns on for current project with empty password doc -log1 test;//turns on for current project with password = "test" doc -log0 test;//turns off for current project
doc.AuditLog=; //(ready-only )returns 1 or 0 AuditLog is on/off for the current project.

New system variable that is Registry based added
In Script Window, run
@ALOG=1;//turn on Audit log on New project (untitled)

You can also preset this in msi installer script to set registry
HKEY_CURRENT_USER\Software\OriginLab\Origin 9.5b\International\SysV\ALOG
with a DWORD value of 1 

0

ORG-16968

LabTalk:  Script access to better support install and uninstall of Origin files that D&D can install

Add the nlsf_install_fdf and nlsf_uninstall_fdf OC functions to install and uninstall fitting functions.

LabTalk Access is supported:

run.section(dofile.ogs, OnInstallFDF, "%Yfitfunc\MyGauss.fdf")
run.section(dofile.ogs, OnUnInstallFDF, "%Yfitfunc\MyGauss.fdf")

Add the template_install and template_uninstall OC functions to install and uninstall graph templates.

LabTalk Access is supported:

run.section(dofile.ogs, OnInstallTemplate, "%YMyGraph.otpu")
run.section(dofile.ogs, OnUnInstallTemplate, "%YMyGraph.otpu")


Origin C

ID

JIRA

SUMMARY

DETAILS

0

ORG-17419

OC: Added a parameter for specifying the title of dialog created by "okoc_folder_browser"

Added a new parameter "lpcszInitTitle" to the OC function okoc_folder_browser, and the new parameter is used to specify the title of dialog box, now the function is:

int okoc_folder_browser(LPCSTR lpcszInitDir, StringArray* saFolders, LPCSTR lpcszInitTitle)

The new parameter "lpcszInitTitleis used to specify the title of dialog box, and its default value is NULL.

Example:

#include <Origin.h>
#include <okocUtils.h> void folder_browser_ex1() { vector<string> vsFolders; int nRet = okoc_folder_browser("C:\\test", &vsFolders,"Folder browser"); printf("%d folders selected!\n", nRet); for ( int ii = 0; ii < nRet; ii++ ) printf("Folder%d: %s\n", ii + 1, vsFolders[ii]); return; }

0

ORG-17369

OC: Better default for index in  GetParameterResults

The default value of second parameter of OC function GetParameterResults() was changed to 0.

0

ORG-17817

OC: function for Code Builder File Access

Added a new OC function:

BOOL CBFileOpen(LPCSTR lpcszFileName, LPCSTR lpcszSectionName=NULL, int nCntrl = CBF_OPEN);

lpcszFileName: File path and name.

lpcszSectionName: Specify a section you want to go.

nCntrl:

  • CBF_OPEN: Open the file in Code Builder.
  • CBF_TEST_IS_OPEN: Check if the file is opened in Code Builder.

0

ORG-17722

OC: Need better support for accessing embedded matrix via LabTalk and OriginC

Added a new OC function:

int Worksheet::IsHolderSheet(PageBase& pg = NULL);

Check if the Worksheet is embedded page.

0

ORG-16946

OC: Access to get and set LabTalk LT properties of Origin Objects

S2: Support accessing page properties by OC functions:Pagebase::SetProp() and Pagebase::GetProp(), for example:

void test_Graph_Set_and_Get_Properties()
{
	GraphPage gp;
	gp.Create("origin");
	gp.AddLayer("Test");
	double vv;
	gp.SetProp("active", 2);
	gp.GetProp("active", &vv);
	
	return;
}

0

ORG-17066

OC: Functions for  Batch Plotting

Added three oc functions:

1. int GraphPage::CanDuplicate(int nWith = CAN_DUP_WITH_ANY);
Suppose a graph is active, use this OC function to tell if this graph is possible to duplicate with new columns, sheets, books.

2. int GetDuplicateWithCols(StringArray &saItems, DataPlot &dataPlot = NULL, int nModifier = PMMT_IGNORE);
Assume a graph is active, use this OC function to get the list of columns which can be used to batch plot the graph.

3. int GetDuplicateWithBooks(StringArray &saItems, int nModifier = PMMT_OFFSET, int nMatchCol = MATCHCOLUMN_INDEX, int nMatchSheet = MATCHSHEET_INDEX);
Assume a graph is active, use this OC function to get the list of sheets or books which can be used to batch plot the graph. If nMatchSheet == MATCHSHEET_IGNORE then Range is Sheet, else Range is Book.


...