User Guide Cancel

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

sbsparser

Module sbsparser provides the class SBSParser which allows the deserialization of a .sbs file into a SBSDocument

All derived SBSObject have a parse function with the same signature than on the base class SBSObject: common_interface.SBSObject.parse()

class sbsparser.FileTypeEnum

Bases: object

Enumeration of different document types SBSParser can read

SBS    = 0 
SBSAR  = 1 
SBSPRS = 2 
SBSPRJ = 3
SBS = 0
SBSAR = 1
SBSPRJ = 3
SBSPRS = 2
class sbsparser.SBSParser(aFileAbsPath, aContext, aFileType=0)

Bases: object

Class used to provide useful functions when parsing a .sbs (=xml) file

getAllSBSElementsIn(aContext, aDirAbsPath, aXmlNode, aTagName, aSBSClass)

Search for all children with the given tag under the given xmlNode, and parse them recursively

………

Returns: The list of SBS objects corresponding to the given tag, or [] if not found
getAllSBSElementsInMulti(aContext, aDirAbsPath, aXmlNode, aTagConstructorDict)

Search for all children with various names under the given xmlNode, and parse them recursively using the parse function from the tag constructor dict

………

Returns: The list of SBS objects corresponding to the given tag, or [] if not found
getAllXmlElementsUnder(aXmlElement, aTagName)

Get the xmlElements with the given tagName under the given xmlElement:

………

Returns: A list of xmlElement
getRootNode()

Get the .sbs file root node :return: element of type etree

getSBSElementIn(aContext, aDirAbsPath, aXmlNode, aTagName, aSBSClass)

Search for first child with the given tag under the given xmlNode, and parse them recursively

………

Returns: SBS object corresponding to the given tag, or None if not found
getSBSElementList(aContext, aDirAbsPath, aXmlNode, aTagName, aChildTagName, aSBSClass)

Search for all children with the tag childtagname under the tag tagname under the given xmlNode, and parse them recursively:

………

Returns: The list of SBS objects corresponding to the tag childtagname, or [] if not found
getXmlElementAttribValue(aXmlElement, aAttributeName)

Get the value of the attribute with the given name on the given xmlElement:

Returns: The attribute value
getXmlElementVAttribValue(aXmlElementParent, aChildName)

Get the value of the attribute ‘v’ on the given child element under xmlElementParent:

Returns: The attribute value
getXmlFilePathValue(aXmlElementParent, aChildName)

Get the value of the attribute ‘v’ on the given child element under xmlElementParent: … Then convert attribute path given as a relative path. :return: The attribute value

isValid()

Check if the package is valid

Returns: True if the package is valid, False otherwise
parseSBSNode(aContext, aDirAbsPath, aXmlNode, aTagName, aSBSClass)

Search for a child node with the given tag in the given XmlNode, and parse the corresponding SBS object

Returns: the SBSObject parsed, or None if not found
parseSBSNodeFromXmlNode(aContext, aDirAbsPath, aXmlNode, aSBSClass)

Search for a child node with the given tag in the given XmlNode, and parse the corresponding SBS object

Returns: the SBSObject parsed, or None if not found

Get help faster and easier

New user?