Vicon Shogun banner

You write Shogun Post commands using the following syntax:

command_name ["command_argument" ["..."]] [-flag [flag_argument]];


command_nameis the name of the Shogun Post command
["command_argument"]is an optional variable name, parameter, value, or expression, that you must supply a value for.
...Depending on the command, you might specify more than one argument. The square brackets [ ] indicate that this is an optional element; do not type these in your command. The quotation marks (" ") indicate that this is a variable; do not type these in your command.
[-flag]is one or more optional flags that identify a status, condition, or event affecting the command. The dash ( - ) identifies the text as a flag; type this in front of the flag name with no intervening spaces.
[flag_argument]Some flags may take their own arguments. Type a space between the flag and its argument. The square brackets [ ] indicate that this is an optional element; do not type these in your command.
;is the special character required to indicate the end of the command. End each line of a script with a semicolon ( ; ).

For more information, see:

For full syntax details for commands, see HSL command reference.

To see a quick reference for the syntax of any Shogun Post HSL command, on the Script Editor toolbar, click the Command Dialog button .

Command capitalization

All commands and flags start with lower case letters. If the command or flag name is a compound word, the first letter of the second word is always capitalized:

create -addSelect;
select -removePrimary;

Arguments are case sensitive. When you are defining object name arguments, you may want to adopt a convention you can remember easily, like all uppercase letters, all lower case letters, or the same kind of capitalization used in Shogun Post. Providing an argument or object name in the wrong case will cause a script to fail.

select -a Left_Thigh;
select -all;

Basic command examples

The following examples show how the Shogun Post HSL command syntax is used in simple commands and scripts.

The syntax for the create command is:

create moduleType moduleName1 ["moduleName2"] ... [-parent] [-addSelect] [-parent string] [-positionOffset vector] [-rotationOffset vector] [-allClips]


createis the name of the command
moduleTypeis an argument to specify the type of object to be created, a marker for example
"moduleName1"is the name you want to call the new object
["moduleName2"] …means you can optionally provide the names for second and additional objects if desired
[-parent]is an optional flag which specifies the parent of the new object so that you do not have to call the parent command separately after you run the create command. The -parent option takes one argument, the name/module path of the parent.
[-additional flags]See create for details of these.

To create a marker named leftPinky, you would type the following command:

create Marker leftPinky;

You can use multiple commands in a single script. Terminate each line of the script with a semicolon ( ; ).

For example, in a single script you could use the create command to create a marker named leftPinky, the parent command to made it a node under the existing bone handBone, then select and setProperty commands to move the new marker down 45 units on the Translation Y axis:

create Marker leftPinky;
select -a handBone;
select leftPinky;
setProperty Translation -c 0 45 0;