User Guide Cancel

sbsargraph | 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

sbsargraph

Module sbsargraph aims to define SBSARObjects that are relative to a graph as saved in a .sbsar file, mostly SBSARGraph, SBSARInput, SBSAROutput, SBSARPreset and SBSARPresetInput.

 class sbsarchive.sbsargraph.SBSARGraph(aLabel='', aPkgUrl='', aGuiGroups=None, aParamInputs=None, aGraphOutputs=None, aPresets=None, aAuthor=None, aAuthorUrl=None, aCategory=None, aDescription=None, aHideInLibrary=None, aKeywords=None, aPhysicalSize=None, aPrimaryInput=None, aUserData=None, aMetaDataTree=None)  

Bases: pysbs.common_interfaces.sbsarobject.SBSARObject, pysbs.common_interfaces.basegraph.Graph, sbsarchive.sbsarmetadata.SBSARMetaDataObject

Class that contains information on a compositing graph as defined in a .sbsar file

Members:
  • mLabel (str): label of the graph.
  • mPkgUrl (str): URL of the graph relatively to the package (pkg://graphIdentifier).
  • mGuiGroups (list of SBSARGuiGroup): List of parameters groups.
  • mParamInputs (list of SBSARInput): list of parameters and compositing inputs of the graph.
  • mGraphOutputs (list of SBSAROutput): list of compositing outputs of the graph.
  • mPresets (list of SBSARPreset): list of presets.
  • mAuthor (str, optional): Author.
  • mAuthorUrl (str, optional): Author URL.
  • mCategory (str, optional): Category.
  • mDescription (str, optional): Textual graph description.
  • mHideInLibrary (str, optional): Define if the graph is hidden in the library or not. Default to ‘off’
  • mKeywords (str, optional): List of tags separated by a space.
  • mPhysicalSize (str, optional): Physical Size attribute
  • mPrimaryInput (str, optional): The identifier of the primary (image) input.
  • mUserData (str, optional): Textual user data.
 createMetaDataStr(aName, aValue)  
 createMetaDataUrl(aName, aResource)  
 deleteMetaData(aName)  
 extractSbsarMetaDataPack(aDestFolderPath)  

Extract all metadata resource files present in the sbsar.

Parameters:aDestFolderPath (str) – a directory path
Returns:a complete file path
 extractSbsarMetaDataResource(aDestFolderPath, aSbsarResourcePath)  

Extract a resource file present in the sbsar. The sbsar resource path is the sbsar relative path to the resource file.

Parameters:
  • aDestFolderPath (str) – a directory path
  • aSbsarResourcePath (str) – sbsar relative path to the resource file, ex: “resources/1/untitled.blend”
Returns:

a complete file path

 getAllGuiGroups()  

Get the list of all parameter groups defined on this graph

Returns:a list of SBSARGuiGroup
 getAllInputGroups()  

Get the list of all groups used for the inputs of the graph.

Returns:a list of groups as strings
 getAllInputs()  

Get the list of all inputs (images and parameters) defined on this graph

Returns:a list of SBSARInput
 getAllInputsInGroup(aGroup)  

Get the list of all inputs (images and parameters) contained in the given group.

If aGroup is None, returns all the parameters that are not included in a group.

Parameters:aGroup (SBSARGuiGroup or str) – The group of parameter to consider, given a SBSARGuiGroup object or a Group identifier
Returns:a list of SBSARInput
 getAllMetaData()  

Get all MetaData under dictionary form.

Returns:dict
 getAllMetaDataIter()  

Extract the metadata from sbsar and return an iterator

Returns:a metadata dict
 getAllPresets()  

Get all the presets defined on this graph

Returns:a list of Preset
 getAttribute(aAttributeIdentifier)  

Get the given attribute value

Parameters:aAttributeIdentifier (AttributesEnum) – the attribute identifier
Returns:the attribute value if defined, None otherwise
 getGraphOutput(aOutputIdentifier)  

Get the graph output with the given identifier

Parameters:aOutputIdentifier (str) – identifier of the output
Returns:a SBSAROutput object if found, None otherwise
 getGraphOutputType(aOutputIdentifier)  

Get the output type of the GraphOutput with the given identifier

Parameters:aOutputIdentifier (str) – identifier of the output
Returns:the output type in the format ParamTypeEnum if found, None otherwise
 getGraphOutputWithUsage(aUsage)  

Get the first GraphOutput which has the given usage defined

Parameters:aUsage (UsageEnum or str) – usage to look for
Returns:a SBSAROutput if found, None otherwise
 getGraphOutputs()  

Get all the graph outputs

Returns:the list of SBSAROutput defined on this graph
 getGuiGroup(aGroupIdentifier)  

Get the SBSARGuiGroup with the given identifier

Parameters:aGroupIdentifier (str) – group identifier
Returns:a SBSARGuiGroup if found, None otherwise
 getIdentifier()  

getIdentifer()

Returns:str identifier
 getInput(aInputIdentifier)  

Get the SBSARInput with the given identifier, among the input images and parameters

Parameters:aInputIdentifier (str) – input parameter identifier
Returns:the corresponding SBSARInput object if found, None otherwise
 getInputFromUID(aInputUID)  

Get the SBSARInput with the given UID, among the input images and parameters

Parameters:aInputUID (str) – input parameter UID
Returns:the corresponding SBSARInput object if found, None otherwise
 getInputImage(aInputImageIdentifier)  

Get the SBSARInput of kind image with the given identifier

Parameters:aInputImageIdentifier (str) – input image identifier
Returns:a SBSARInput if found, None otherwise
 getInputImageWithUsage(aUsage)  

Get the first SBSARInput of kind image which has the given usage defined

Parameters:aUsage (UsageEnum or str) – usage to look for
Returns:a SBSARInput if found, None otherwise
 getInputImages()  

Get the list of image inputs

Returns:a list of SBSARInput
 getInputParameter(aInputParamIdentifier)  

Get the SBSARInput with the given identifier

Parameters:aInputParamIdentifier (str) – input parameter identifier
Returns:the corresponding SBSARInput object if found, None otherwise
 getInputParameterFromUID(aInputParamUID)  

Get the SBSARInput with the given UID

Parameters:aInputParamUID (str) – input parameter UID
Returns:the corresponding SBSARInput object if found, None otherwise
 getInputParameters()  

Get the list of inputs parameters that are not input entries but numerical values

Returns:a list of SBSARInput
 getMetaData(aName)  

Get a MetaData by its name

Parameters:aName (str) –
Returns:SBSMetaDataTreeUrl or SBSMetaDataTreeStr
 getOutputFormat(aOutputIdentifier)  

getFormat() Get the output format of this GraphOutput.

Parameters:aOutputNode – an Identifier
Returns:the output format TextureFormatEnum or ParamTypeEnum if Value output, None otherwise.
 getOutputMipmaps()  

Get the output format of this GraphOutput.

Parameters:aOutputNode – an Identifier
Returns:mipmaps level MipmapEnum
 getPreset(aPresetLabel)  

Get the preset with the given label

Returns:a Preset object if found, None otherwise
 getPrimaryInput()  

Get the identifier of the primary input of the graph

Returns:The identifier of the primary input as a string if it exists, None otherwise
 getSBSMetaDataTree()  

Get the SBSMetaDataTree structure.

Returns:class .SBSMetaDataTree
 isPrimaryInput(aInput)  

Check if the given input is the primary input for this graph or not

Parameters:aInput (SBSARInput) – The input to check
Returns:True if this is the primary input, False otherwise
 parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)  

Parse recursively the given xml node to retrieve the content of the SBSObject.

Parameters:
  • aContext (Context) – execution context
  • aDirAbsPath (str) – the absolute directory containing the current parsed package (.sbs file)
  • aSBSParser (SBSParser) – the substance parser
  • aXmlNode (xml.etree.ElementTree) – the xml node to parse
 setMetaDataName(aMetadata, aName)  
 setMetaDataValue(aMetadata, aValue)  
 class sbsarchive.sbsargraph.SBSARInput(aUID='', aIdentifier='', aType=0, aAlterOutputs='', aAlterNodes='', aDefault=None, aUserTag=None, aInputGui=None, aMetaDataTree=None)  

Bases: pysbs.common_interfaces.sbsarobject.SBSARObject, pysbs.common_interfaces.package.ParamInput, sbsarchive.sbsarmetadata.SBSARMetaDataObject

Class that contains information on a graph input as defined in a .sbsar file

Members:
  • mIdentifier (str): identifier of the input.
  • mUID (str): uid of the input.
  • mType (SBSARTypeEnum): data type, among the enumeration SBSARTypeEnum
  • mAlterOutputs (List[str]): collection of graph outputs UID which are impacted anytime this input value is modified.
  • mAlterNodes (str): ???.
  • mDefault (str, optional): Default value.
  • mUserTag (str, optional): user textual tags
  • mInputGui (SBSARInputGui, optional): GUI widget of the input
 createMetaDataStr(aName, aValue)  
 createMetaDataUrl(aName, aResource)  
 deleteMetaData(aName)  
 formatValueToType(aValue)  

Return the given value formatted in the appropriate type for this parameter (bool, int or float)

Parameters:aValue (string, bool, int, or float) – The value to format
Returns:The value as a bool, int of float depending on the parameter type
 getAllMetaData()  

Get all MetaData under dictionary form.

Returns:dict
 getAttribute(aAttributeIdentifier)  

Get the given attribute value

Parameters:aAttributeIdentifier (AttributesEnum) – the attribute identifier
Returns:the attribute value if defined, None otherwise
 getClamp()  
Returns:the clamp as a boolean if defined for this parameter, None if not defined
 getDefaultValue()  
Returns:the default value as a value or a list of values in the type of the parameter (bool, int or float), None if not defined
 getDimension()  

Get the dimension of the parameter type (1, 2, 3, or 4 values)

Returns:The dimension as an integer
 getDropDownList()  
Returns:the map{value(int):label(str)} corresponding to the drop down definition if defined for this parameter, None otherwise.
 getGroup()  

Get the input GUI group containing this input

Returns:the GUI group as a string if defined, None otherwise
 getInputGui()  

Get the input GUI associated to this input

Returns:a SBSARInputGui object if defined, None otherwise
 getIsConnectable()  

Check if this input is connectable as an input.

Returns:True if it’s connectable, False otherwise
 getLabelFalse()  

Returns the label for the false option if it’s valid for this input

Returns:str with the label if it’s a button, otherwise None
 getLabelTrue()  

Returns the label for the true option if it’s valid for this input

Returns:str with the label if it’s a button, otherwise None
 getLabels()  
Returns:the list of all labels defined for this parameter, in the right order, as a list of strings. None if not defined
 getMaxValue(asList= False)  
Parameters:asList (bool, optional) – True to get the result as a list of maximum values accordingly to the number of values of this parameter, False to have only one value returned. Default to False
Returns:the maximum parameter value in the type of the parameter (int or float), as a list or not, None if not defined
 getMetaData(aName)  

Get a MetaData by its name

Parameters:aName (str) –
Returns:SBSMetaDataTreeUrl or SBSMetaDataTreeStr
 getMinValue(asList = False)  
Parameters:asList (bool, optional) – True to get the result as a list of minimum values accordingly to the number of values of this parameter, False to have only one value returned. Default to False
Returns:the minimum parameter value in the type of the parameter (int or float), as a list or not, None if not defined
 getSBSMetaDataTree()  

Get the SBSMetaDataTree structure.

Returns:class .SBSMetaDataTree
 getStep()  
Returns:the step value (in the type of the parameter) of the widget for this parameter, None if not defined
 getType()  

Get the type of the input among the list defined in ParamTypeEnum. Please be careful, it does not match the enumeration of type in a .sbsar format. To get the type as a SBSARTypeEnum, just access the mType member

Returns:The type of the parameter as a ParamTypeEnum
 getUsages()  

Get the usages of this param input

Returns:the list of SBSARUsage defined on this image input
 getWidget()  

Get the widget associated to this input

Returns:a SBSARObject object if defined, None otherwise
 hasUsage(aUsage)  

Check if the given usage is defined on this image input

Parameters:aUsage (str or UsageEnum) – The usage to look for
Returns:True if the given usage is defined on this param input, False otherwise
 isAnInputImage()  

Check if this input is of kind image.

Returns:True if this is an input image, False otherwise
 isAnInputParameter()  

Check if this input is a parameter.

Returns:True if this is an input parameter, False otherwise
 parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)  

Parse recursively the given xml node to retrieve the content of the SBSObject.

Parameters:
  • aContext (Context) – execution context
  • aDirAbsPath (str) – the absolute directory containing the current parsed package (.sbs file)
  • aSBSParser (SBSParser) – the substance parser
  • aXmlNode (xml.etree.ElementTree) – the xml node to parse
 setMetaDataName(aMetadata, aName)  
 setMetaDataValue(aMetadata, aValue)  
 class sbsarchive.sbsargraph.SBSAROutput(aUID='', aIdentifier='', aType='', aFormat='', aWidth='', aHeight='', aMipMaps='', aDynamicSize=None, aUserData=None, aOutputGui=None, aMetaDataTree=None)  

Bases: pysbs.common_interfaces.sbsarobject.SBSARObject, pysbs.common_interfaces.package.GraphOutput, sbsarchive.sbsarmetadata.SBSARMetaDataObject

Class that contains information on a graph output as defined in a .sbsar file

Members:
  • mUID (str): uid of the output.
  • mIdentifier (str): identifier of the output.
  • mType (SBSARTypeEnum): data type, among the enumeration SBSARTypeEnum
  • mFormat (TextureFormatEnum): format type, among the enumeration TextureFormatEnum or ParamTypeEnum if value output.
  • mWidth (str): width of the output.
  • mHeight (str): height of the output.
  • mMipMaps (str): mipmap level.
  • mDynamicSize (str): dynamic size.
  • mUserData (str): user textual tags
  • mOutputGui (SBSAROutputGui): GUI widget of the output
 createMetaDataStr(aName, aValue)  
 createMetaDataUrl(aName, aResource)  
 deleteMetaData(aName)  
 getAllMetaData()  

Get all MetaData under dictionary form.

Returns:dict
 getAttribute(aAttributeIdentifier)  

Get the given attribute value

Parameters:aAttributeIdentifier (AttributesEnum) – the attribute identifier
Returns:the attribute value if defined, None otherwise
 getFormat()  

Get the output format of this GraphOutput.

Returns:the output format TextureFormatEnum or ParamTypeEnum if Value output, None otherwise.
 getMetaData(aName)  

Get a MetaData by its name

Parameters:aName (str) –
Returns:SBSMetaDataTreeUrl or SBSMetaDataTreeStr
 getMipmaps()  

Get the output format of this GraphOutput.

Returns:mipmaps level MipmapEnum
 getOutputType(**kwargs)  
 getSBSMetaDataTree()  

Get the SBSMetaDataTree structure.

Returns:class .SBSMetaDataTree
 getType()  

Get the output type of this GraphOutput.

Returns:the output type in the format ParamTypeEnum if found, None otherwise
 getUsages()  

Get the usages of this graph output

Returns:the list of SBSARUsage defined on this graph output
 hasUsage(aUsage)  

Check if the given usage is defined on this graph output

Parameters:aUsage (str or UsageEnum) – The usage to look for
Returns:True if the given usage is defined on this graph output, False otherwise
 parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)  

Parse recursively the given xml node to retrieve the content of the SBSObject.

Parameters:
  • aContext (Context) – execution context
  • aDirAbsPath (str) – the absolute directory containing the current parsed package (.sbs file)
  • aSBSParser (SBSParser) – the substance parser
  • aXmlNode (xml.etree.ElementTree) – the xml node to parse
 setMetaDataName(aMetadata, aName)  
 setMetaDataValue(aMetadata, aValue)  
 class sbsarchive.sbsargraph.SBSARPreset(aLabel='', aUsertags=None, aPresetInputs=None)  

Bases: pysbs.common_interfaces.sbsarobject.SBSARObject, pysbs.common_interfaces.package.Preset

Class that contains information on a graph parameter preset as defined in a .sbsar file

Members:
  • mLabel (str): identifier of the preset.
  • mPresetInputs (list of SBSARPresetInput): list of preset parameters.
 getInputValue(aInputUID)  

Get the value of the given ParamInput in this preset

Parameters:aInputUID (str) – UID of the input to get
Returns:the input value in this preset if defined, None otherwise
 getPresetInput(aInputParam)  

Get the preset of the given input parameter

Parameters:aInputParam (ParamInput or str) – the input parameter as ParamInput or identified by its uid
Returns:a PresetInput if found, None otherwise
 getPresetInputFromIdentifier(aInputParamIdentifier)  

Get the preset of the given input parameter

Parameters:aInputParamIdentifier (str) – the input parameter identified by its identifier
Returns:a PresetInput if found, None otherwise
 getPresetInputs()  

Get the list of preset inputs defined in this preset

Returns:a list of PresetInput
 parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)  

Parse recursively the given xml node to retrieve the content of the SBSObject.

Parameters:
  • aContext (Context) – execution context
  • aDirAbsPath (str) – the absolute directory containing the current parsed package (.sbs file)
  • aSBSParser (SBSParser) – the substance parser
  • aXmlNode (xml.etree.ElementTree) – the xml node to parse
 class sbsarchive.sbsargraph.SBSARPresetInput(aUID=None, aIdentifier=None, aValue=None, aType=None)  

Bases: pysbs.common_interfaces.sbsarobject.SBSARObject, pysbs.common_interfaces.package.PresetInput

Class for manipulating embedded user-defined preset input inside a .sbs file

Members:
  • mUID (str): uid of the input parameter targeted by this preset input
  • mIdentifier (str): identifier of the input parameter targeted by this preset input
  • mValue (SBSConstantValue): value, depend on the type.
  • mType (SBSParamValue): type of the input
 getType()  

Get the type of the input among the list defined in ParamTypeEnum. Please be careful, it does not match the enumeration of type in a .sbsar format. To get the type as a SBSARTypeEnum, just access the mType member

Returns:The type of the parameter as a ParamTypeEnum
 getTypedValue()  

Get the value of this preset input correctly formatted in the type of this preset (e.g. bool, int, float, list of int, …)

Returns:The input value in the appropriate type
 getValue()  

Get the value of this preset input as it is saved in the file

Returns:the input value in this preset input
 parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)  

Parse recursively the given xml node to retrieve the content of the SBSObject.

Parameters:
  • aContext (Context) – execution context
  • aDirAbsPath (str) – the absolute directory containing the current parsed package (.sbs file)
  • aSBSParser (SBSParser) – the substance parser
  • aXmlNode (xml.etree.ElementTree) – the xml node to parse

Get help faster and easier

New user?