User Guide Cancel

content | Substance 3D Automation ToolKit

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)
class substance.content.SBSContent(aGroups=None, aGraphs=None, aResources=None, aResourcesScene=None, aFunctions=None, aMDLGraphs=None, aModelGraphs=None)
 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)
computeUniqueIdentifier(aIdentifier, aSuffixId = 0)
 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)
equals(other)
 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)
getMDLGraph(aGraphIdentifier, aRecursive = True)
 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)
getMDLGraphList(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
getModelGraph(aGraphIdentifier, aRecursive = True)
getModelGraph(aGraphIdentifier, aRecursive = True)
 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)
getModelGraphList(aRecursive=True)
 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)
getObject(aIdentifier)
 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)
getObjectFromUID(aUID, aRecursive=True)
 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 = '')
getObjectInternalPath(aUID, aObjectClass=None, aPath = '')
 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)
getSBSFunction(aFunctionIdentifier, aRecursive = True)
 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)
getSBSFunctionList(aRecursive = True)
 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)
getSBSGraph(aGraphIdentifier, aRecursive = True)
 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)
getSBSGraphList(aRecursive = True)
 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)
getSBSGroup(aGroupIdentifier, aRecursive = True)
 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 = '')
getSBSGroupInternalPath(aGroupIdentifier, aPath = '')
 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)
getSBSGroupList(aRecursive = True)
 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)
getSBSResource(self, aResourceIdentifier, aRecursive = True)
 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)
getSBSResourceList(aRecursive = True, aIncludeSceneResources = True)
 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)
getUidIsUsed(aUID)
 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)
static isContentChildType(aObject)
 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(aContext, aDirAbsPath, aSBSParser, aXmlNode)
 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)
removeObject(aObject)
 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(aSBSWriter, aXmlNode)
 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)
class substance.content.SBSGroup(aIdentifier='', aUID='', aDesc=None, aContent=None)
 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)
equals(other)
 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()
getContent()
 getContent()  

Get the content included in this group

Returns:The content as a SBSContent object
getDescription()
getDescription()
 getDescription()  

Get the group description

Returns:The textual description of the group
getMDLGraph(aGraphIdentifier)
getMDLGraph(aGraphIdentifier)
 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()
getMDLGraphList()
 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)
getModelGraph(aGraphIdentifier)
 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)
getModelGraphList(aRecursive=False)
 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)
getSBSFunction(aFunctionIdentifier)
 getSBSFunction(aFunctionIdentifier)  

Get the Function object with the given identifier

Parameters:aFunctionIdentifier (str) – Identifier of the function to get
Returns:A SBSFunction object
getSBSFunctionList()
getSBSFunctionList()
 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)
getSBSGraph(aGraphIdentifier)
 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()
getSBSGraphList()
 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)
getSBSGroup(aGroupIdentifier)
 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()
getSBSGroupList()
 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)
getSBSResource(self, aResourceIdentifier)
 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)
getSBSResourceList(aRecursive = False, aIncludeSceneResources=True)
 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)
getUidIsUsed(aUID)
 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(aContext, aDirAbsPath, aSBSParser, aXmlNode)
 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)
setDescription(aDescription)
 setDescription(aDescription)  

Set the given description

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

Get help faster and easier

New user?