PlatformService Reference

The platformservice interface provides information about the system that modo is running on. This includes the user that the application is licensed to, the application version, and operating system information.


Querying the platformservice ScriptQuery interface reveals ten root attributes and one attribute group:

  • licensedto

  • exipiresin

  • serialnum

  • numlicenses

  • appname

  • appversion

  • appbuild

  • isheadless

  • ostype

  • osname

  • osversion

  • paths

  • path.???

  • importpaths

  • isapp64bit

  • alias

Basic licensing information can be read with these attributes, including the name of the licensed owner of the application and how long before the license key expires.

{{SQAttributeTable |licensedto|Get the name of the licensed modo user. Returns the string ‘’(unregistered)’’, localized to the current language, if the application is not licensed. |string |query platformservice licensedto ? |’John Doe’’’ }}

{{SQAttributeTable |expiresin|Get the number of days before the license key expires. If this is a permanent key, this returns ‘’-1’’. |string |query platformservice expiresin ? |’’-1’’ }}

{{SQAttributeTable |serialnum|Get the serial number of a licensed application. This is only valid when licensedto does not return ‘’(unregistered)’’. |string |query platformservice serialnum ? |’’[serial number of the license]’’ }}

{{SQAttributeTable |numlicenses|Get the number of machines that this license supports. This is only valid when licensedto does not return ‘’(unregistered)’’. |integer |query platformservice numlicenses ? |’’1’’ }}

Application Information

Basic application information can be read with these attributes, including the name of the application and the version and build numbers.

{{SQAttributeTable |appname|Get the name of the application. For modo, this will be the string ‘’modo’’. |string |query platformservice appname ? |’’modo’’ }}

{{SQAttributeTable |appversion|Get the version number of the application. |integer |query platformservice appversion ? |’’601’’ }}

{{SQAttributeTable |appbuild|Get the build number of the application. |integer |query platformservice appbuild ? |’’48460’’ }}

{{SQAttributeTable |isapp64bit|Returns true if the application itself is 64 bit, and false if it is 32 bit. This does not report if the OS is 64 or 32 bit, just if the application itself is. |integer |query platformservice isapp64bit ? |’’1’’ }}

Headless Operation

The nexus infrastructure supports running in a headless mode without a user interface.

{{SQAttributeTable |isheadless|Returns true if the application is running without a user interface. |integer |query platformservice isheadless ? |’’0’’ }}

Operating System Information

{{SQAttributeTable |ostype|Get the operating system type. This will be MacOSX, Win32 or Linux. |string |query platformservice ostype ? |’’MacOSX’’ }}

{{SQAttributeTable |osname|Get a more human-readable operating system name. |string |query platformservice osname ? |’’Mac OS X 10.7.3’’ }}

{{SQAttributeTable |osversion|Get a version string from the operating system. The format is dependent on the OS. For example, Windows will commonly include the service pack as well. |string |query platformservice osversion ? |’’10.7.3’’ }}


This attribute returns a list of file system paths used by ‘’modo’’. See Path Aliases: Standard Paths for more information.

{{SQAttributeTable |paths|Get a list of paths names used by modo. |string |query platformservice paths ? |’’[list of paths]’’ }}

path Attributes

The path attributes are used to obtain information about a path alias. The internal name of the path is used as the selector. Currently only one attribute is defined, which resolves the internal name into an absolute file system path.

{{SQAttributeTable |paths.path|Get the alias’s absolute file system path. |string |query platformservice path.path ? temp |’’/Users/jangell/Library/Application Support/Luxology/AutoSave’’ }}


The ‘’’import paths’’’ attribute is used to get a list of all imported resource paths. These paths are used for the default location for Scripting.

{{SQAttributeTable |importpaths|Get the imported resource paths. |string |query platformservice importpaths ? |’’[list of all imported paths]’’ }}

Resolving Aliases

The alias attribute resolves an alias into an absolute path. This can be used with any aliases the user may have created, or the implicit alias defined by a kit. If the alias cannot be resolved, this will return the original alias passed in. The alias can include subdirectories, which will be included in the returned string. This may not work with all aliases explicitly defined by modo itself; those can be read with paths and path.path as described above. It can also be used to resolve Kits aliases into absolute paths. The selector is the name of the alias to resolve, including any option subdirectories.

{{SQAttributeTable |alias|Resolve a path alias into an absolute path. |string |query platformservice alias ? “myAlias:SubDir” |’’[absolute path of the alias]/SubDir’’ }}