User Guide Cancel

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

sbspreset

Content included in sbspreset module:

Module sbspreset aims to define sbsprs files, with helpers for making them interact with compgraphs

Classes
SBSPRSPresets SBSPRSPreset SBSPRSPresetInput SBSPRSTypes
class sbspreset.sbspreset.SBSPRSPreset(aDescription='', aLabel='', aUsertags=None, aPkgUrl='', aPresetInputs=None)

Bases: pysbs.common_interfaces.sbsobject.SBSObject, pysbs.common_interfaces.package.Preset

Class representing an SBSPRS preset

Members:
  • mDescription (str): Description of thew preset
  • mLabel (str): Preset label
  • mPkgUrl (str): Reference to which graph in the package the preset belongs to
  • mPresetInputs (list of SBSPRSPresetInput): Values for parameters in presets
addPresetInput(aInput)

Adds a preset input to the preset

Parameters: aInput (SBSPRSPresetInput) – The preset to add
Returns: None
addToGraph(aGraph)

Adds this preset to an SBSGraph

Parameters: aGraph (SBSGraph) – The graph to add it to
Returns: None
createPresetInput(aIdentifier, aUID, aValue, aType)

Creates and adds a preset input

Parameters:
  • aIdentifier (str) – The identifier for the preset input
  • aUID (int) – The UID for the preset input
  • aValue (str) – The value for the preset input
  • aType (SBSPRSType) – The type for the preset
Returns:

SBSPRSPresetInput representing the new input

createPresetInputFromSBSInput(aInput)

Creates and adds a preset input from an SBSParamInput

Parameters: aInput (SBSParamInput) – The input to create a preset from
Returns: SBSPRSPresetInput representing the new input
equals(other)

Check if this SBSObject is equivalent to the other SBSObject. Some members may be excluded from this check, the UIDs or GUILayout for instance.

Parameters: other (SBSObject) – The SBSObject to compare to
Returns: True if the two SBSObject are similar according to their definition.
getDescription()

Gets the description of the preset

Returns: description as str
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
getLabel()

Gets the label for the preset

Returns: type as str
getPkgUrl()

Gets the type package url for the preset

Returns: package url as str
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
getPresetInputByIndex(aIndex)

Gets the preset at the specified index

Parameters: aIndex (int) – The index
Returns: SBSPRSPresetInput
getPresetInputCount()

Gets the number of preset inputs on the preset

Returns: int
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
getUidIsUsed(aUID)

Check if the given uid is already used in the context of this SBSObject.

Parameters: aUID (str) – UID to check
Returns: True if the uid is already used, False otherwise
Raise: AttributeError if the function getUidIsUsed in not properly overloaded on this SBSObject
getUsertags()

Gets the usertags for the preset

Returns: usertags as str
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
removePresetInput(aPresetInput)

Removes an input preset

Parameters: aPresetInput (SBSPRSPresetInput) – The preset to remove
Returns: None
setDescription(aDescription)

Sets the description for the preset

Parameters: aDescription (str) – The new description
Returns: None
setLabel(aLabel)

Sets the label for the preset

Parameters: aLabel (str) – The new label
Returns: None
setPkgUrl(aPkgUrl)

Sets the pkgurl the preset

Parameters: aPkgUrl (str) – The pkgurl. Should contain pkg://
Returns: None
setUsertags(aUsertags)

setLabel(aUsertags) Sets the usertags for the preset

Parameters: aUsertags (str) – The new label
Returns: None
write(aSBSWriter, aXmlNode)

Write recursively the content of the SBSObject into the given xml node.

Parameters:
  • aSBSWriter (SBSWriter) – the substance writer
  • aXmlNode (xml.etree.ElementTree) – the xml node to fill
class sbspreset.sbspreset.SBSPRSPresetInput(aIdentifier='', aUID='', aValue='', aType='')

Bases: pysbs.common_interfaces.sbsobject.SBSObject, pysbs.common_interfaces.package.PresetInput

Class representing an SBSPRS preset

Members:
  • mIdentifier (str): Identifier for the value
  • mUID (str): Uid for the value
  • mValue (str): The value to set
  • mType (str): The type of the value
equals(other)

Check if this SBSObject is equivalent to the other SBSObject. Some members may be excluded from this check, the UIDs or GUILayout for instance.

Parameters: other (SBSObject) – The SBSObject to compare to
Returns: True if the two SBSObject are similar according to their definition.
getIdentifier()

Gets the identifier of the preset input

Returns: identifier as string
getType()

Gets the type of the preset input

Returns: type as :class:.SBSPRSType`
getTypedValue()

Gets the value of the preset as a value

Returns: value as float, string, int array of int or float depending on type
getUID()

Gets the uid of the preset input

Returns: uid as int
getUidIsUsed(aUID)

Check if the given uid is already used in the context of this SBSObject.

Parameters: aUID (str) – UID to check
Returns: True if the uid is already used, False otherwise
Raise: AttributeError if the function getUidIsUsed in not properly overloaded on this SBSObject
getValue()

Gets the value of the preset as string

Returns: value as string
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
setIdentifier(aIdentifier)

Sets the identifier

Parameters: aIdentifier (string) – The new identifier
Returns: None
setType(aType)

Sets the type for the input parameter

Parameters: aType (:class:.SBSPRSType`) – The new type
Returns: None
setUID(aUID)

Sets the UID for the input parameter

Parameters: aUID (int) – The new UID
Returns: None
setValue(aValue)

Sets the value for the input parameter

Parameters: aValue (string) – The new value
Returns: None
write(aSBSWriter, aXmlNode)

Write recursively the content of the SBSObject into the given xml node.

Parameters:
  • aSBSWriter (SBSWriter) – the substance writer
  • aXmlNode (xml.etree.ElementTree) – the xml node to fill
class sbspreset.sbspreset.SBSPRSPresets(aContext, aFileAbsPath, aFormatVersion='', aPresets=None)

Bases: pysbs.common_interfaces.sbsobject.SBSObject

Class representing the preset datastructure.

Members:
  • mContext (Context): Execution context, with alias definition
  • mFileAbsPath (str): Absolute path of the package
  • mFormatVersion (str): version of the format
  • mPresets (list of SBSPRSPreset): Presets to add
addPreset(preset)

Add preset

Parameters: aPreset (SBSPreset) – The label to look for
Returns: None
addSBSPresetFromGraph(aPreset, aGraph)

Adds a preset from a graph

Parameters:
  • aPreset (SBSPreset) – The preset to add
  • aGraph (SBSGraph) – The graph to add from
Returns:

SBSPRSPreset

createPreset(aLabel, aDescription='', aGraph=None, aPkgUrl=None)

Creates a new preset and returns it

Parameters:
  • aLabel (str) – The label for new preset
  • aDescription (str) – The description for the new preset
  • aUsertags (str) – Semi-colon separated tags for the preset
  • aGraph (SBSGraph) – The graph to make the preset apply to. Can’t be used if specifying aPkgUrl
  • aPkgUrl (str) – The pkgurl to apply the the preset to. Can’t be used if specifying aGraph
Returns:

SBSPRSPreset

equals(other)

Check if this SBSObject is equivalent to the other SBSObject. Some members may be excluded from this check, the UIDs or GUILayout for instance.

Parameters: other (SBSObject) – The SBSObject to compare to
Returns: True if the two SBSObject are similar according to their definition.
getPresetByIndex(aIndex)

Gets a preset at the specified index

Parameters: aIndex (int) – The index to look for
Returns: SBSPreset
getPresetByLabel(aLabel)

Gets a preset with the specified label

Parameters: aLabel (str) – The label to look for
Returns: SBSPreset or None if not found
getPresetCount()

Gets the total number of presets

Returns: int
getUidIsUsed(aUID)

Check if the given uid is already used in the context of this SBSObject.

Parameters: aUID (str) – UID to check
Returns: True if the uid is already used, False otherwise
Raise: AttributeError if the function getUidIsUsed in not properly overloaded on this SBSObject
importAllPresetsFromGraph(aGraph)

Adds a all presets from a graph

Parameters: aGraph (SBSGraph) – The graph to add from
Returns: list of SBSPRSPreset
insertAllPresetsInSBS(aDoc)

Inserts all presets from the preset to an SBS document Ignores presets on graphs not present in the sbsdocument

Parameters: aDoc (SBSDocument) – the document to add presets to
Returns: None
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
parseDoc()

Parse the SBSPRS File content

Returns: True if succeed
removePreset(aPreset)

Removes a preset

Parameters: aPreset (SBSPRSPreset) – The preset to remove
Returns: None
write(aSBSWriter, aXmlNode)

Write recursively the content of the SBSObject into the given xml node.

Parameters:
  • aSBSWriter (SBSWriter) – the substance writer
  • aXmlNode (xml.etree.ElementTree) – the xml node to fill
writeDoc(aNewFileAbsPath = None)

Write the SBSPRS document in Element Tree structure and write it on the disk. If aNewFileAbsPath is provided, the document is saved at this location, otherwise it is save on the current file location.

Parameters: aNewFileAbsPath – The final location of the document. By default, the document is saved at the same location that the one provided when creating the document.
Returns: True if succeed
class sbspreset.sbspreset.SBSPRSTypes

Bases: object

Enumeration for sbsprs preset types

FLOAT1   = 0 
FLOAT2   = 1 
FLOAT3   = 2 
FLOAT4   = 3 
INTEGER1 = 4 
STRING   = 6 
INTEGER2 = 8 
INTEGER3 = 9 
INTEGER4 = 10

Get help faster and easier

New user?