- Substance 3D home
- Home
- Command Line Tools
- Command Line overview
- sbsbaker
- sbscooker
- sbsmtools
- sbsmutator
- sbsrender
- sbsupdater
- Command Line overview
- Pysbs - Python API
- Pysbs - Python API overview
- Getting started
- General topics
- Examples
- API Content
- API Content overview
- Substance definitions
- Common interfaces
- compnode
- context projectmgr
- graph
- mdl
- modelgraphindex
- modelannotationnames
- modelgraph
- modelgraphgenerator
- modelgraphimplementation
- modelnodenames
- modeloperand
- modulegraphindex
- moduleannotation
- moduleconnection
- modulegraph
- modulegraphgenerator
- modulegraphimplementation
- modulegraphlibrary
- modulegraphregister
- modulenode
- modulenodeimplementation
- modulenodeinstance
- moduleoperand
- moduleoutputbridging
- moduleparaminput
- params
- projectmgrdoc
- sbsarchive
- sbscommon
- sbspreset
- sbsproject
- substance
- Libraries
- sbsenum
- sbslibrary
- sbsbakerslibrary
- Helpers
- Execution context
- API Change log
- Samples
- Setup and Getting Started
- Integrations
- Substance Maya toolset
- Changelog overview
sbsarchive
Content included in sbsarchive module:
Module sbsarchive aims to define SBSARObjects that are relative to a sbsar package, mostly SBSArchive
and SBSARGlobalVar
.
class sbsarchive.sbsarchive.SBSARGlobalVar(aInputs=None)
Bases: pysbs.common_interfaces.sbsarobject.SBSARObject
Class that contains information on a graph input as defined in a .sbsar file
- Members:
- mInputs (list of
SBSARInput
): List of global variables used by the substance.
- mInputs (list of
parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)
Parse recursively the given xml node to retrieve the content of the SBSObject.
class sbsarchive.sbsarchive.SBSArchive(aContext, aFileAbsPath, aFormatVersion='', aCookerBuild='', aAsmUID='', aContent='', aGlobalVar=None, aGraphs=None, aMetaDataTree=None)
Bases: pysbs.common_interfaces.sbsarobject.SBSARObject
, pysbs.common_interfaces.package.Package
, sbsarchive.sbsarmetadata.SBSARMetaDataObject
Class used to get information on a .sbsar file. It contains the full description of a substance archive, which correspond to the root node of the .sbsar file.
- Members:
- mFormatVersion (str): version of the format
- mCookerBuild (str): build number of the Cooker
- mAsmUID (str): unique identifier of the .sbsasm file
- mContent (str): content type. Default to ‘full’
- mGlobalVar (
SBSARGlobalVar
): global variables used in the substance - mGraphs (list of
SBSARGraph
): list of graphs - mContext (
Context
): Execution context, with alias definition - mFileAbsPath (str): Absolute path of the package
- mDirAbsPath (str): Absolute directory of the package
buildAbsPathFromRelToMePath(aRelPathFromPackage)
Build a path starting from the current package absolute directory and complete it with the given relative path
Parameters: | aRelPathFromPackage (str) – The relative path from the current package |
---|---|
Returns: | The complete path, as a string |
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 |
---|
createMetaDataStr(aName, aValue)
createMetaDataUrl(aName, aResource)
deleteMetaData(aName)
enterSBSARManager()
extractSbsarMetaDataJson(aDestFolderPath, aNameToFind='metadata.json')
Extract the metadata json file in the destFolderPath
Parameters: |
|
---|---|
Returns: | a complete file path |
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: |
|
---|---|
Returns: | a complete file path |
generateThumbnail(aGraphIdentifier=None, replaceIfExists=False, saveArchiveAs=None)
Generate a 512x512 icon and embeds it to the substance archive. Be sure to write the substance doc with doc.writeDoc() if you do some modifications on it. Use pysbs.batchtools so be sure to have setup correctly your system paths. The thumbnail generation is based on Usage output, if the graph has not the right Usages the thumbnail result can be unexpected.
Parameters: |
|
---|
getAllMetaData()
Get all MetaData under dictionary form.
Returns: | dict |
---|
getFirstSBSGraph()
getSBSGraph(aGraphIdentifier) Get the first Graph object
Parameters: | aGraphIdentifier (str) – Identifier of the graph to get |
---|---|
Returns: | A Graph object, a string containing its pkg relative path |
getMetaData(aName)
Get a MetaData by its name
Parameters: | aName (str) – |
---|---|
Returns: | SBSMetaDataTreeUrl or SBSMetaDataTreeStr |
getObjectFromInternalPath(aPath)
Get the object pointed by the given path, which must reference the current package.
Parameters: | aPath (str) – the relative path, starting with ‘pkg:///’ |
---|---|
Returns: | the pointed SBSARObject if found, None otherwise |
getSBSGraph(aGraphIdentifier)
Get the SBSARGraph object with the given identifier.
Parameters: | aGraphIdentifier (str) – Identifier of the graph to get |
---|---|
Returns: | A SBSARGraph object |
getSBSGraphFromPkgUrl(aPkgUrl)
Get the SBSARGraph object with the given package URL.
Parameters: | aPkgUrl (str) – The graph Url relatively to the package, in the format ‘pkg:///MyGraph’ |
---|---|
Returns: | A SBSARGraph object |
getSBSGraphList()
Get the list of all graphs defined in the .sbsar file
Returns: | A list of SBSARGraph object |
---|
getSBSGraphPkgUrl(aGraph)
Get the path of the given graph relatively to the current package (pkg:///…/aGraphIdentifier)
Parameters: | aGraph (A SBSGraph object) – Identifier of the graph to get |
---|---|
Returns: | A string containing the relative path from the root content to the given graph, None otherwise |
getSBSMetaDataTree()
Get the SBSMetaDataTree structure.
Returns: | class .SBSMetaDataTree |
---|
static isAPackage(aFilePath)
Check if the given filename is a .sbs file or .sbsar file.
Parameters: | aFilePath (str) – Path of the package |
---|---|
Returns: | True if the given path ends with .sbs or .sbsar, False otherwise |
static isAnArchive(aFilePath)
Check if the given filename is a .sbsar package or a .sbs package
Parameters: | aFilePath (str) – Path of the package |
---|---|
Returns: | True if the given path refers to an archive (.sbsar), False otherwise |
isInitialized()
Check if the package is correctly initialized (parsed or well setup for future usage)
Returns: | True if the package is initialized, False otherwise |
---|
parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)
Parse recursively the given xml node to retrieve the content of the SBSObject.
parseDoc(aResolveDependencies = True)
Parse the SBS File content
Returns: | True if succeed |
---|
static removePackageExtension(aFilePath)
Remove the package extension to the given path (.sbs or .sbsar)
Parameters: | aFilePath (str) – Path of the package |
---|---|
Returns: | The same path without the package extension |
setIcon(aIconAbsPath)
Set the given image as the icon of the graph. The provided image won’t be re-sized to get a thumbnail, so we strongly recommend that you provide the path to a 128x128 image.
Parameters: |
|
---|---|
Returns: | True if succeed False otherwise |
setInitialized()
Set the package as initialized
setMetaDataName(aMetadata, aName)
setMetaDataValue(aMetadata, aValue)