content | Substance 3D Automation ToolKit

Note

Documentation for Substance Automation Toolkit is now included in the SAT package. You can access the documentation by opening html-doc.zip inside your downloaded SAT package.

content

Module content provides the definition of the classes SBSGroup and SBSContent

 class substance.content.SBSContent(aGroups=None, aGraphs=None, aResources=None, aResourcesScene=None, aFunctions=None, aMDLGraphs=None, aModelGraphs=None)  

Bases: pysbs.common_interfaces.sbsobject.SBSObject

Class that contains information on the content node as defined in a .sbs file. The content is a tree structure of these elements:

Members:
  • mGraphs (list of SBSGraph): Graphs in this content
  • mGroups (list of SBSGroup): Folders in this content
  • mResources (list of SBSResource): Resources in this content
  • mResourcesScene (list of SBSResourceScene): Scene resources in this content
  • mFunctions (list of SBSFunction): Functions in this content
 computeUniqueIdentifier(aIdentifier, aSuffixId = 0)  

Check if the given identifier is already used and generate a unique identifier if necessary

Returns:A unique identifier, which is either the given one or a new one with a suffix: identifier_id
 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.
 getMDLGraph(aGraphIdentifier, aRecursive = True)  

Get the MDL Graph object with the given identifier

Parameters:
  • aGraphIdentifier (str) – the identifier (not uid) of the graph to find
  • aRecursive (bool) – True to parse sub folders, False to search only inside the current Content
Returns:

A MDLGraph object

 getMDLGraphList(aRecursive = True)  

Get the list of MDL graphs defined in this content, including sub-folders or not.

Returns:A list of MDLGraph objects
 getModelGraph(aGraphIdentifier, aRecursive = True)  

Get the Model Graph object with the given identifier

Parameters:
  • aGraphIdentifier (str) – the identifier (not uid) of the graph to find
  • aRecursive (bool) – True to parse sub folders, False to search only inside the current Content
Returns:

A ModuleGraph object

 getModelGraphList(aRecursive=True)  

getMDLGraphList(aRecursive = True) Get the list of MDL graphs defined in this content, including sub-folders or not.

Returns:A list of MDLGraph objects
 getObject(aIdentifier)  

Get the object with the given identifier in the content directly under this content.

Parameters:aIdentifier (str) – the identifier (not uid) of the object to find
Returns:A SBSObject if found, None otherwise
 getObjectFromUID(aUID, aRecursive=True)  

Parse the Groups, Graphs, Resources and Functions to find the object with the given uid

Parameters:
  • aUID (str) – The UID of the object (group, graph, resource or function) to look for
  • aRecursive (boolean, optional) – True to search recursively in all groups, False to search only in the direct content. Default to True
Returns:

The SBSObject if found, None otherwise

 getObjectInternalPath(aUID, aObjectClass=None, aPath = '')  

Get the path of the given object relatively to the current content. Only objects that are directly under a Content node can be found: SBSGroup SBSGraph MDLGraph SBSResource SBSFunction

Parameters:
  • aUID (str) – the UID of the object to search
  • aObjectClass (class, optional) – the class of the object to search. If None, the function will look into all the kind of content
Returns:

A string containing the relative path from the current content to the given object if found, None otherwise

 getSBSFunction(aFunctionIdentifier, aRecursive = True)  

Get the Function object with the given identifier

Parameters:
  • aFunctionIdentifier (str) – the identifier (not uid) of the function to find
  • aRecursive (bool) – True to parse sub folders, False to search only inside the current Content
Returns:

A SBSFunction object

 getSBSFunctionList(aRecursive = True)  

Get the list of functions defined in this content, including sub-folders or not.

Parameters:aRecursive (bool) – True to parse sub folders, False to search only inside the current Content
Returns:A list of SBSFunction objects
 getSBSGraph(aGraphIdentifier, aRecursive = True)  

Get the Graph object with the given identifier

Parameters:
  • aGraphIdentifier (str) – the identifier (not uid) of the graph to find
  • aRecursive (bool) – True to parse sub folders, False to search only inside the current Content
Returns:

A SBSGraph object

 getSBSGraphList(aRecursive = True)  

Get the list of graphs defined in this content, including sub-folders or not.

Returns:A list of SBSGraph objects
 getSBSGroup(aGroupIdentifier, aRecursive = True)  

Get the Group object with the given identifier

Parameters:
  • aGroupIdentifier (str) – the identifier (not uid) of the group to find
  • aRecursive (bool) – True to parse sub folders, False to search only inside the current Content
Returns:

A SBSGroup object

 getSBSGroupInternalPath(aGroupIdentifier, aPath = '')  

Get the path of the given group relatively to the current content

Returns:A string containing the relative path from the current content to the given group, None otherwise
 getSBSGroupList(aRecursive = True)  

Get the list of groups defined in this content, including sub-folders or not.

Returns:A list of SBSGroup objects
 getSBSResource(self, aResourceIdentifier, aRecursive = True)  

Get the Resource object with the given identifier

Parameters:
  • aResourceIdentifier (str) – the identifier (not uid) of the resource to find
  • aRecursive (bool) – True to parse sub folders, False to search only inside the current Content
Returns:

A SBSResource object

 getSBSResourceList(aRecursive = True, aIncludeSceneResources = True)  

Get the list of the resources defined in this content, including sub-folders or not.

Parameters:
  • aRecursive (bool, optional) – True to parse sub folders, False to search only inside the current Group. Default to True
  • aIncludeSceneResources (bool, optional) – True to include the Scene/Mesh resources. Default to True
Returns:

A list of SBSResource objects

 getUidIsUsed(aUID)  

Parse the Groups, Graphs, Resources and Functions to find a SBSObject with the given uid

Returns:True if a compnode has this uid
 static isContentChildType(aObject)  

Check if the type of given object is one of the types accepted under a SBSContent object

Parameters:aObject – The object to check
Returns:True if the type of the given object can be included in a SBSContent
 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
 removeObject(aObject)  

Remove the given object from this content

Parameters:aObject (SBSObject or UID) – The object (group, graph, function, resource) to remove from this content, as a SBSObject or given its UID
Returns:True if success
 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 substance.content.SBSGroup(aIdentifier='', aUID='', aDesc=None, aContent=None)  

Bases: pysbs.common_interfaces.sbsobject.SBSObject

Class that contains information on a group node as defined in a .sbs file. A group correspond to a folder in Substance Designer, and is a hierarchical group of elements.

Members:
  • mIdentifier (str): identifier of the group used in the paths that refer to its sub-objects.
  • mUID (str): unique identifier of this group in the package/ context.
  • mDesc (str, optional): textual description.
  • mContent (SBSContent, optional): children of the group.
 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.
 getContent()  

Get the content included in this group

Returns:The content as a SBSContent object
 getDescription()  

Get the group description

Returns:The textual description of the group
 getMDLGraph(aGraphIdentifier)  

Get the MDL Graph object with the given identifier

Parameters:aGraphIdentifier (str) – Identifier of the graph to get
Returns:A MDLGraph object
 getMDLGraphList()  

Get the list of all MDL graphs included in this group

Parameters:aRecursive (bool, optional) – True to parse sub folders, False to search only inside the current Group. Default to False
Returns:A list of SBSGraph object
 getModelGraph(aGraphIdentifier)  

Get the MDL Graph object with the given identifier

Parameters:aGraphIdentifier (str) – Identifier of the graph to get
Returns:A MDLGraph object
 getModelGraphList(aRecursive=False)  

getMDLGraphList() Get the list of all MDL graphs included in this group

Parameters:aRecursive (bool, optional) – True to parse sub folders, False to search only inside the current Group. Default to False
Returns:A list of SBSGraph object
 getSBSFunction(aFunctionIdentifier)  

Get the Function object with the given identifier

Parameters:aFunctionIdentifier (str) – Identifier of the function to get
Returns:A SBSFunction object
 getSBSFunctionList()  

Get the list of all functions included in this group

Parameters:aRecursive (bool, optional) – True to parse sub folders, False to search only inside the current Group. Default to False
Returns:A list of SBSFunction object
 getSBSGraph(aGraphIdentifier)  

Get the Substance graph object with the given identifier

Parameters:aGraphIdentifier (str) – Identifier of the graph to get
Returns:A SBSGraph object
 getSBSGraphList()  

Get the list of all Substance graphs included in this group

Parameters:aRecursive (bool, optional) – True to parse sub folders, False to search only inside the current Group. Default to False
Returns:A list of SBSGraph object
 getSBSGroup(aGroupIdentifier)  

Get the Group object with the given identifier

Parameters:aGroupIdentifier (str) – Identifier of the group (=folder) to get
Returns:A SBSGroup object
 getSBSGroupList()  

Get the list of all groups included in this group

Parameters:aRecursive (bool, optional) – True to parse sub folders, False to search only inside the current Group. Default to False
Returns:A list of SBSGroup object
 getSBSResource(self, aResourceIdentifier)  

Get the Resource object with the given identifier

Parameters:aResourceIdentifier (str) – Identifier of the resource to get
Returns:A SBSResource object
 getSBSResourceList(aRecursive = False, aIncludeSceneResources=True)  

Get the list of all the resources included in this group.

Parameters:
  • aRecursive (bool, optional) – True to parse sub folders, False to search only inside the current Group. Default to False
  • aIncludeSceneResources (bool, optional) – True to include the Scene/Mesh resources. Default to True
Returns:

A list of SBSResource objects

 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
 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
 setDescription(aDescription)  

Set the given description

Parameters:aDescription (str) – the textual group description
 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

Adobe, Inc.

Get help faster and easier

New user?