GO2cam Javascript API  6.11
Launch a script

Using the GO2cam Javascript Editor

GO2cam is able to execute scripts written in JavaScript langage and stored in **.js** files. JavaScript files can be written out of GO2cam or by using the embedded JavaScript editor.

  1. In GO2cam menu click Tools > JavaScript Editor to open the JavaScript editor
  2. In the JavaScript editor menu
    • click File > Open to open a .js file
    • click Run to execute the script

‍It it also possible to drag 'n drop a .js file in GO2cam window. The file will be open in the JavaScript editor


[1] Run button to launch the script
[2] Editing area where the script is written
[3] Output area. This area displays error messages when errors occur while executing a script. It can also be used to display information using console.log command

Command line

Launching a script using GO2cam in command line is possible with the token -js 'path_to_my_script.js' It is mandatory to use it combined with token -y 'product_name' to indicate the appropriate product (milling, turning...etc.). The list of GO2cam products is available by running GO2cam in command line with the token -h. Optionaly, it is possible to use the token -blackbox to hide GO2cam graphic interface while the script is running.

Example to run a script for milling

go2cam.exe -js 'd:\myscript.js' -y 'milling'

Example to run a script for turning keeping GO2cam invisible

go2cam.exe -js "d:\monscript.js" -y “turning” -blackbox

Since version 6.11.203 of GO2cam, it is possible to give arguments to the script using - - token. Arguments can be retrieved in script file with variable args. Let's assume that test_args.js contains the following code

if(args.length>0)
{
let str = 'input arguments: '
args.forEach( a => str+= a + ', ' )
GO2SDialogUtil.CreateMessageBox(str)
}

The execution of the following command line will display a message box displaying input arguments

go2cam.exe -y milling -js 'd:\test_args.js' --12 --args2

Using several .js at the same time

Complex scripts can be divided to several .js files. File contents can be imported into a main .js file using GO2SUtil.ImportJS function Get toolbox.js file here: toolbox.js to run the following script.

//import utility functions defined in another file
GO2SUtil.ImportJS('toolbox.js')
var p1 = new GO2SXYZ(10,10,0)
var p2 = new GO2SXYZ(10,100,0)
var obl = new GO2SOblong(p1,p2,20)
DiscretizePts(obl) // defined in toolbox.js

When a class is defined in another js file and imported with GO2SUtil.ImportJS, it is mandatory to make it visible globaly through this object using this line after the class definition.

this.MyClass = MyClass;

For exemple, a class Person defined in another js file:

class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
greet() {
console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
}
}
// this line ensures to make the class visible in another js file when being imported
this.Person = Person;

API Limitations

It is not possible to import external libraries