User Guide Cancel

sbslibclasses | Substance 3D Automation ToolKit

  1. Substance 3D home
  2. Home
  3. Command Line Tools
    1. Command Line overview
    2. sbsbaker
      1. sbsbaker overview
      2. sbsbaker command line options
      3. sbsbaker Example Command Lines
    3. sbscooker
      1. sbscooker overview
      2. sbscooker command line options
      3. sbscooker pattern variables
    4. sbsmtools
      1. sbsmtools overview
      2. sbsmtools command line options
    5. sbsmutator
      1. sbsmutator overview
      2. sbsmutator command line options
      3. sbsmutator Example Command Lines
    6. sbsrender
      1. sbsrender overview
      2. sbsrender base parameters and pattern variables
      3. sbsrender command line options
      4. sbsrender example command lines
    7. sbsupdater
      1. sbsupdater overview
      2. sbsupdater command line options
  4. Pysbs - Python API
    1. Pysbs - Python API overview
    2. Getting started
    3. General topics
      1. Basic manipulation
      2. Substance creation
      3. Substances modification
      4. Dependencies management
      5. PySbs batchtools module
      6. metadata manipulation
      7. SAT demos
      8. Edit sbsar with SBSARManager
      9. Spot Colors
      10. Thumbnail creation with SAT
    4. Examples
      1. demohelloworld
      2. demos
      3. demos_batchtools
      4. script_update_with_sbsupdater
    5. API Content
      1. API Content overview
      2. Substance definitions
        1. Common interfaces
          1. basegraph
          2. package
          3. sbsarobject
          4. sbsobject
        2. compnode
          1. compnode overview
          2. common
          3. compimplementation
          4. paramgraph
        3. context projectmgr
        4. graph
          1. graph overview
          2. function
          3. inputparameters
          4. output
        5. mdl
          1. mdlannotation
          2. mdlcommon
          3. mdldictionaries
          4. mdlenum
          5. mdlgraph
          6. mdllibclasses
          7. mdlmanager
          8. mdlnode
          9. mdlnodeimpl
          10. mdloperand
          11. mdlsbsbridge
        6. modelgraphindex
          1. modelannotationnames
          2. modelgraph
          3. modelgraphgenerator
          4. modelgraphimplementation
          5. modelnodenames
          6. modeloperand
          7. modulegraphindex
          8. moduleannotation
          9. moduleconnection
          10. modulegraph
          11. modulegraphgenerator
          12. modulegraphimplementation
          13. modulegraphlibrary
          14. modulegraphregister
          15. modulenode
          16. modulenodeimplementation
          17. modulenodeinstance
          18. moduleoperand
          19. moduleoutputbridging
          20. moduleparaminput
        7. params
          1. params overview
          2. dynamicvalue
          3. paramnode
        8. projectmgrdoc
        9. sbsarchive
          1. sbsarchive overview
          2. sbsarenum
          3. sbsargraph
          4. sbsargui
          5. sbsarguiwidgets
          6. sbsarmanager
        10. sbscommon
          1. connections
          2. gui
          3. nodes
          4. values
        11. sbspreset
        12. sbsproject
        13. substance
          1. substance overview
          2. content
          3. resource
      3. Libraries
        1. sbsenum
        2. sbslibrary
          1. sbslibrary overview
          2. sbsdictionaries
          3. sbsfilters
          4. sbsfunctions
          5. sbsfxmapnodes
          6. sbslibclasses
          7. sbswidgets
        3. sbsbakerslibrary
          1. sbsbakerslibrary overview
          2. sbsbakersdef
          3. sbsbakersdefaultprops
          4. sbsbakersdictionaries
          5. sbsbakersenum
          6. sbsbakingconverter
          7. sbsbakingconverterparam
          8. sbsbakingparameters
          9. sbsdialogstate
          10. sbsscenedata
        4. Helpers
          1. sbscleaner
          2. sbsexporter
          3. sbsgenerator
          4. sbsparser
          5. sbswriter
          6. qtclasses
            1. qtclasses overview
            2. qtvariantreader
            3. qtvariantwriter
          7. psdparser
          8. sbsimpactmanager
          9. batchtools
          10. autograph
            1. ag_functions
            2. ag_layout
            3. ag_types
          11. info_mesh_parser
          12. sbsbaker_info_handlers
          13. sbsrender_render_handlers
          14. output_handlers
          15. spotcolorinfo_handler
          16. thumbnail
          17. batchtools overview
        5. Execution context
          1. context
          2. functions
        6. API Change log
  5. Samples
    1. Samples overview
    2. Texturing Template Demo
    3. Batch Tools Demo
    4. Variations
    5. Texture Mat
    6. Pixel Processor Ray tracer
  6. Setup and Getting Started
    1. Setup and Getting Started overview
    2. Compatibility
    3. Frequently asked Questions
    4. Known issues
    5. SAT Cookbook
    6. Use Pysbs in different python interpreter (maya, sd, blender...)
  7. Integrations
    1. Substance Maya toolset
      1. Substance Maya Toolset overview
      2. Installing
      3. Launching
      4. Baking
        1. Baking overview
        2. Export parameters
        3. Baker parameters
        4. Mesh setup
        5. Using a template
      5. Changelog
  8. Changelog overview

sbslibclasses

 class pysbs.sbslibrary.sbslibclasses.CompNodeInput(aIdentifier, aType=3, aIsPrimary=True, aIsMultiInput=False)  

Bases: pysbs.sbslibrary.sbslibclasses.NodeInput

This class contains the definition of an input of a Compositing node.

Members:
  • mIdentifier (InputEnum or str): identifier of the input.
  • mType (ParamTypeEnum): type of the input.
  • mIsPrimary (bool): defines if the input is the primary input of the node
 getIdentifier()  

Get the input identifier as an enum value if possible, or as a string if it is a custom input

Returns:the input identifier as an integer if possible, or as a string otherwise
 getIdentifierStr()  

Get the input identifier as a string

Returns:the input identifier as a string
 isVariant()  

Check if input has a variant type.

Returns:True if this input is variant, False otherwise.
 class pysbs.sbslibrary.sbslibclasses.CompNodeOutput(aIdentifier, aType=3)  

Bases: pysbs.sbslibrary.sbslibclasses.NodeOutput

This class contains the definition of an output of a Compositing node.

Members:
 getIdentifier()  

Get the output identifier as an enum value if possible, or as a string if it is a custom output

Returns:the output identifier as an integer if possible, or as a string otherwise
 getIdentifierStr()  

Get the output identifier as a string

Returns:the output identifier as a string
 class pysbs.sbslibrary.sbslibclasses.CompNodeParam(aParameter, aType=256, aDefaultValue='', aIsConnectable=False)  

Bases: pysbs.sbslibrary.sbslibclasses.NodeParam

This class contains the definition of a parameter of a Compositing node.

Members:
  • mParameter (CompNodeParamEnum): identifier of the parameter.
  • mType (ParamTypeEnum): type of the parameter.
  • mDefaultValue (depends on the type): default value of the parameter.
  • mIsConnectable boolean. decides whether the param is connectable in a graph
 getIdentifier()  

Get the parameter identifier as an enum value if possible, or as a string if it is a custom parameter

Returns:the parameter identifier as an integer if possible, or as a string otherwise
 getIdentifierStr()  

Get the parameter identifier as a string

Returns:the parameter identifier as a string
 getIsConnectable()  

Returns True if the input is connectable

Returns:(bool)
 class pysbs.sbslibrary.sbslibclasses.CompNodeDef(aIdentifier, aOutputs=None, aInputs=None, aParameters=None, aInheritance=None, aInputValues=None)  

Bases: pysbs.sbslibrary.sbslibclasses.NodeDef

This class contains the definition of a Compositing node.

Members:
  • mIdentifier (FilterEnum): identifier of the compositing node
  • mInputs (list of CompNodeInput): the input entries of the node.
  • mOutputs (list of CompNodeOutput): the outputs of the node.
  • mParameters (list of CompNodeParam): the parameters available on this node.
  • mInheritance(list of ParamInheritanceEnum): the available inheritance property on this compositing node
 addBaseParameters()  

Add all the base parameters to the CompNode definition

 getAllInputIdentifiers()  

Get all the input identifiers as strings of this node definition

Returns:a list of string
 getAllInputs()  

Get all the inputs of this node definition

Returns:a list of NodeInput if found
 getAllOutputIdentifiers()  

Get all the output identifiers as strings of this node definition

Returns:a list of string
 getAllOutputs()  

Get all the outputs of this node definition

Returns:a list of NodeOutput if found
 getAllParameterIdentifiers()  

Get all the parameter identifiers as strings of this node definition

Returns:a list of string
 getAllParameters()  

Get all the parameters of this node definition

Returns:a list of NodeParam
 getFirstInputOfType(aType)  

Gets the first imput of a specific type, checks both inputs and connectable parameters

Parameters:aType (ParamTypeEnum) – The type to look for
Returns:NodeInput or CompNodeParam object if found, None otherwise
 getFirstOutputOfType(aType)  

Get the first NodeOutput with the given type. This considers the variant types as compatible types.

Parameters:aType (sbsenum.ParamTypeEnum) – The required type
Returns:a NodeOutput object if found, None otherwise
 getIdentifier()  
Returns:The identifier of the node definition as a string
 getInput(aInput)  

Get the input with the given identifier

Parameters:aInput (InputEnum or str) – The required input
Returns:a NodeInput if found, None otherwise
 getOutput(aOutput)  

Get the output with the given identifier

Parameters:aOutput (OutputEnum or str) – The required output
Returns:a NodeOutput if found, None otherwise
 getParameter(aParameter)  

Get the required parameter

Parameters:aParameter (NodeParamEnum or str) – The parameter
Returns:a NodeParam object if found, None otherwise
 static isBaseParameter(aParam)  

Check if the given parameter is one of the base parameter or not (Output size, Pixel format, …)

Parameters:aParam (CompNodeParamEnum or NodeParam) – The parameter to check
Returns:True if there is at least one variant output and no COLOR_MODE parameter, False otherwise
 isVariant()  

Check if at least one NodeOutput has a variant type.

Returns:True if there is at least one variant output and no COLOR_MODE parameter, False otherwise
 setInputs(aInputs)  
 setOutputs(aOutputs)  
 class pysbs.sbslibrary.sbslibclasses.FunctionInput(aIdentifier, aType=3)  

Bases: pysbs.sbslibrary.sbslibclasses.NodeInput

This class contains the definition of an input of a Function node.

Members:
 getIdentifier()  

Get the input identifier as an enum value if possible, or as a string if it is a custom input

Returns:the input identifier as an integer if possible, or as a string otherwise
 getIdentifierStr()  

Get the input identifier as a string

Returns:the input identifier as a string
 class pysbs.sbslibrary.sbslibclasses.FunctionOutput(aIdentifier, aType=3)  

Bases: pysbs.sbslibrary.sbslibclasses.NodeOutput

This class contains the definition of an output of a Function node.

Members:
 getIdentifier()  

Get the output identifier as an enum value if possible, or as a string if it is a custom output

Returns:the output identifier as an integer if possible, or as a string otherwise
 getIdentifierStr()  

Get the output identifier as a string

Returns:the output identifier as a string
 class pysbs.sbslibrary.sbslibclasses.FunctionParam(aParameter, aType=256, aDefaultValue='')  

Bases: pysbs.sbslibrary.sbslibclasses.NodeParam

This class contains the definition of a parameter of a Function node.

Members:
  • mParameter (FunctionEnum): identifier of the parameter.
  • mType (ParamTypeEnum): type of the parameter.
  • mDefaultValue (depends on the type): default value of the parameter.
 getIdentifier()  

Get the parameter identifier as an enum value if possible, or as a string if it is a custom parameter

Returns:the parameter identifier as an integer if possible, or as a string otherwise
 getIdentifierStr()  

Get the parameter identifier as a string

Returns:the parameter identifier as a string
 getIsConnectable()  

Returns True if the input is connectable

Returns:(bool)
 class pysbs.sbslibrary.sbslibclasses.FunctionDef(aIdentifier, aOutputs=None, aInputs=None, aFunctionDatas=None, aTemplate1=None)  

Bases: pysbs.sbslibrary.sbslibclasses.BaseNodeDef

This class contains the definition of a Function node.

Members:
  • mIdentifier (FunctionEnum): identifier of the function node
  • mInputs (list of FunctionInput): the inputs of the node.
  • mOutputs (list of FunctionOutput): the outputs of the node.
  • mFunctionDatas (list of FunctionParam): the parameters available on this node.
  • mTemplate1 (ParamTypeEnum): for a function with a variant type, provide the allowed types.
 getAllInputIdentifiers()  

Get all the input identifiers as strings of this node definition

Returns:a list of string
 getAllInputs()  

Get all the inputs of this node definition

Returns:a list of NodeInput if found
 getAllOutputIdentifiers()  

Get all the output identifiers as strings of this node definition

Returns:a list of string
 getAllOutputs()  

Get all the outputs of this node definition

Returns:a list of NodeOutput if found
 getAllParameterIdentifiers()  

Get all the parameter identifiers as strings of this node definition

Returns:a list of string
 getAllParameters()  

Get all the parameters of this node definition

Returns:a list of NodeParam
 getFirstInputOfType(aType)  

Get the first NodeInput with the given type. This considers the variant types as compatible types.

Parameters:aType (sbsenum.ParamTypeEnum) – The required type
Returns:a NodeInput object if found, None otherwise
 getFirstOutputOfType(aType)  

Get the first NodeOutput with the given type. This considers the variant types as compatible types.

Parameters:aType (sbsenum.ParamTypeEnum) – The required type
Returns:a NodeOutput object if found, None otherwise
 getIdentifier()  
Returns:The identifier of the node definition as a string
 getInput(aInput)  

Get the input with the given identifier

Parameters:aInput (InputEnum or str) – The required input
Returns:a NodeInput if found, None otherwise
 getInputType(aInput, aResolved = False)  

Get the input type of the input with the given identifier

Parameters:
  • aInput (FunctionInputEnum or str) – The required input
  • aResolved (bool) – In the case of a Template type, True to return the value of the template, False to get TEMPLATE1
Returns:

a ParamTypeEnum if found, None otherwise

 getOutput(aOutput)  

Get the output with the given identifier

Parameters:aOutput (OutputEnum or str) – The required output
Returns:a NodeOutput if found, None otherwise
 getParameter(aParameter)  

Get the required parameter

Parameters:aParameter (FunctionEnum or str) – The parameter
Returns:a FunctionParam object if found, None otherwise
 setInputs(aInputs)  
 setOutputs(aOutputs)  
 class pysbs.sbslibrary.sbslibclasses.FxMapNodeDef(aIdentifier, aOutputs=None, aInputs=None, aParameters=None, aInheritance=None)  

Bases: pysbs.sbslibrary.sbslibclasses.NodeDef

This class contains the definition of a FxMap node.

Members:
  • mIdentifier (FxMapNodeEnum): identifier of the compositing node
  • mInputs (list of CompNodeInput): the input entries of the node.
  • mOutputs (list of CompNodeOutput): the outputs of the node.
  • mParameters (list of CompNodeParam): the parameters available on this node.
  • mInheritance(list of ParamInheritanceEnum): the available inheritance property on this compositing node
 getAllInputIdentifiers()  

Get all the input identifiers as strings of this node definition

Returns:a list of string
 getAllInputs()  

Get all the inputs of this node definition

Returns:a list of NodeInput if found
 getAllOutputIdentifiers()  

Get all the output identifiers as strings of this node definition

Returns:a list of string
 getAllOutputs()  

Get all the outputs of this node definition

Returns:a list of NodeOutput if found
 getAllParameterIdentifiers()  

Get all the parameter identifiers as strings of this node definition

Returns:a list of string
 getAllParameters()  

Get all the parameters of this node definition

Returns:a list of NodeParam
 getFirstInputOfType(aType)  

Get the first NodeInput with the given type. This considers the variant types as compatible types.

Parameters:aType (sbsenum.ParamTypeEnum) – The required type
Returns:a NodeInput object if found, None otherwise
 getFirstOutputOfType(aType)  

Get the first NodeOutput with the given type. This considers the variant types as compatible types.

Parameters:aType (sbsenum.ParamTypeEnum) – The required type
Returns:a NodeOutput object if found, None otherwise
 getIdentifier()  
Returns:The identifier of the node definition as a string
 getInput(aInput)  

Get the input with the given identifier

Parameters:aInput (InputEnum or str) – The required input
Returns:a NodeInput if found, None otherwise
 getOutput(aOutput)  

Get the output with the given identifier

Parameters:aOutput (OutputEnum or str) – The required output
Returns:a NodeOutput if found, None otherwise
 getParameter(aParameter)  

Get the required parameter

Parameters:aParameter (NodeParamEnum or str) – The parameter
Returns:a NodeParam object if found, None otherwise
 static isBaseParameter(aParam)  

Check if the given parameter is one of the base parameter or not (Output size, Pixel format, …)

Parameters:aParam (NodeParam) – The parameter to check
Returns:False, there is no base parameters on the FxMap nodes
 isVariant()  

Check if at least one NodeOutput has a variant type.

Returns:True if there is at least one variant output and no COLOR_MODE parameter, False otherwise
 setInputs(aInputs)  
 setOutputs(aOutputs)  
 class pysbs.sbslibrary.sbslibclasses.GradientKey(aPosition, aValue, aMidpoint=None)  

Bases: pysbs.sbslibrary.sbslibclasses.LibObject

Class that provides a description of a gradient key for the Gradient Map filter.

Members:
  • mPosition (float): the position of the key between 0 and 1
  • mValue (list of 4 floats): the color value of the key.
  • mMidpoint (float, optional): default is -1
 class pysbs.sbslibrary.sbslibclasses.CurveKey(aPosition, aLeft, aRight, aIsLeftBroken=False, aIsRightBroken=False, aIsLocked=True)  

Bases: pysbs.sbslibrary.sbslibclasses.LibObject

Class that provides a description of a curve key for the Curve filter.

Members:
  • mPosition (list of two float) : position of the key in two dimensions between 0 and 1
  • mLeft (list of two float) : position of the left handle of the key
  • mRight (list of two float) : position of the right handle of the key
  • mIsLeftBroken (boolean) : True to set the left handle squared instead of rounded. Default to False
  • mIsRightBroken (boolean) : True to set the right handle squared instead of rounded. Default to False
  • mIsLocked (boolean) : True to lock the key handle. Default to True
 class pysbs.sbslibrary.sbslibclasses.CurveDefinition(aIdentifier, aCurveKeys)  

Bases: pysbs.sbslibrary.sbslibclasses.LibObject

Class that provides a description of a curve for the Curve filter.

Members:
  • mIdentifier (CurveTypeEnum): the identifier of the curve
  • mCurveKeys (list of CurveKey) : the list of keys
 addCurveKey(aCurveKey)  

Add the given curve key to the curve definition

Parameters:aCurveKey (CurveKey) – The key to add
 static initCurve(aIdentifier)  

Create the initial curve with the bottom left and top right keys.

Parameters:aIdentifier (CurveTypeEnum) – Identifier of the curve
Returns:the CurveDefinition object initialized with the default keys
 moveKeyTo(aCurveKey, aPosition)  

Move the given key to the given position. The resulting position is clamped to the allowed space for this key, considering the previous and next key.

Parameters:
  • aCurveKey (CurveKey) – The key to move
  • aPosition (list of two float between 0 and 1) – The target position
Returns:

The resulting position for this key

 class pysbs.sbslibrary.sbslibclasses.WidgetOption(aOption, aType, aValue)  

Bases: pysbs.sbslibrary.sbslibclasses.LibObject

This class provide the definition of an option of a GUI widget associated to an Input Parameter of a Graph.

Members
 class pysbs.sbslibrary.sbslibclasses.InputParamWidget(aWidget, aType, aOptions=None)  

Bases: pysbs.sbslibrary.sbslibclasses.LibObject

Class providing the definition of the GUI widget associated to an Input Parameter of a Graph.

Members:
  • mWidget (WidgetEnum): identifier of the widget
  • mType (ParamTypeEnum): type of the value driven by this widget
  • mOptions (list of WidgetOption): options of this widget (min and max values, step, clamp, …)
 getDefaultValue()  

Get the default value of this widget.

Returns:the default value as a string if it is defined on this widget, None otherwise
 getOption(aOption)  

Get the given option.

Parameters:aOption (WidgetOptionEnum) – The option to get
Returns:the option as a WidgetOption if it is defined on this widget, None otherwise
 getOptions()  

Get all the options of this widget.

Returns:the options of this widget as a list of WidgetOption
 hasOption(aOption)  

Check if the given option is defined on this widget

Parameters:aOption (WidgetOptionEnum) – The option to get
Returns:True if the option is defined on this widget, False otherwise

Get help faster and easier

New user?