User Guide Cancel

modulegraphgenerator | 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. Release notes
    1. Version 11.3.0
    2. Version 11.2.0
    3. Version 11.1.0

modulegraphgenerator

Module modelgrapgenerator factory module to create various models entities

 modulegraph.modulegraphgenerator.createConnection(aModuleRegister, aNodeLeft: modulenode.ModuleNode, aNodeRight: modulenode.ModuleNode, aOutputIdentifer: str=None, aInputIdentifer: str=None)  

Connect two nodes by their outputs to inputs, in model graph all inputs are operands. If output and input identifier are not set first of each will be used. Currently there is no type check during the connection, so as long as the output and input exists the connection will be done but could be not valid for the evaluation.

Parameters:
  • aNodeLeft (ModuleNode) – the left node
  • aNodeRight (ModuleNode) – the right node, which received connection
  • aOutputIdentifer (str) – the output pin’s identifier, in the case where the left node has several output
  • aInputIdentifer (str) – the input pin’s identifier, in the case where the right node has several input
Returns:

the connection object

Return type:

ModuleConnection

 modulegraph.modulegraphgenerator.createEmptyNode(aGraph: modulegraph.ModuleGraph, aPos=(0, 0, 0))  

Create an empty node, the basic shell that will received the implementation

Parameters:
  • aGraph (ModuleGraph) – the graph where the node will be created
  • aPos – a x, y, z position value
Returns:

ModuleNode

 modulegraph.modulegraphgenerator.createFeatureVersion(aModuleRegister, aDoc)  

Add a new FeatureVersion object to the doc :param aDoc: the document where the FeatureVersion will be created :type aDoc: SBSDocument :return: FeatureVersionOption

 modulegraph.modulegraphgenerator.createGraph(aModuleRegister, aDoc, aIdentifier: str, aAttrName='mModuleGraphs', aParentFolder=None)  

Create a basic module graph

Parameters:
  • aDoc (SBSDocument) – the document where the graph will be created
  • aIdentifier – the identifier / name of the graph
Returns:

ModuleGraph

 modulegraph.modulegraphgenerator.createGraphAnnotation(aModuleRegister, aGraph: modulegraph.ModuleGraph, aKey: str, aValue)  

Create an Annotation object and add it to the given graph Annotation handle graph information attributes like description, author, tags…

Parameters:
  • aGraph (ModuleGraph) – the graph where the node will be created
  • aKey (str) – the key word, title, path of the annotation, can be ‘description’, ‘author’ …
  • aValue (str) – the string value of the annotation
Returns:

annotation obj

Return type:

ModuleAnnotation

 modulegraph.modulegraphgenerator.createNode(aGraph: modulegraph.ModuleGraph, aNodeId: str, aPos=(0, 0, 0))  

Top def to create an atomic node (not an instance) by given a node id createNode(aModelgraph, “Structure::NodeBool”)

Parameters:
  • aGraph (ModuleGraph) – the graph where the node will be created
  • aNodeId – the path id of the node
  • aPos – a x, y, z position value
Returns:

ModuleNode

 modulegraph.modulegraphgenerator.createNodeImplementation(aModuleRegister, aNodeId: str)  

Create the node implementation object, the implementation class is retrieve by the register or use the default one ModuleNodeImplementation

Parameters:aNodeId (str) – the node identifier to retrieve info from register
Returns:the Node Implementation instance
Return type:ModuleNodeImplementation
 modulegraph.modulegraphgenerator.createOperandValue(aModuleRegister, aNodeId: str, aOperandName: str, aValue=None)  

Create ModuleOperand the corresponding operand from a node id and operand name :param aNodeId: the node identifier to retrieve info from register :type aNodeId: str :param aOperandName: the operand name :type aOperandName: str :param aValue: a value to give to the new operand :return: the operand instance :rtype: ModuleOperand

 modulegraph.modulegraphgenerator.createOutputBridgings(aModuleRegister, aNodeImpl: modulenodeimplementation.ModuleNodeImplementation, aNodeId: str, aName: str)  

Create OutputBridgings node, the outputs. From a node id and an output name :param aNodeImpl: A node implementation object :type aNodeImpl: ModuleNodeImplementation :param aNodeId: the node identifier to retrieve info from register :type aNodeId: str :param aName: output name :type aName: str :return: output bridging instance :rtype: ModuleOutputBridging

 modulegraph.modulegraphgenerator.exposeNode(aModuleRegister, aGraph: modulegraph.ModuleGraph, aNode: modulenode.ModuleNode, aIdentifier: str, aDescription: str= '', aInGroup: str='', aDisplayName: str='', aGammaType: str='', aGraphDefinitionId: str=None, aSoftRange=None, aHardRange=None)  

Expose as a graph input parameter a constant node

Parameters:
  • aGraph (ModuleGraph) – the graph where the input parameter will be created
  • aNode (ModuleNode) – the constant node to exposed as graph input
  • aIdentifier (str) – the identifier of the graph input parameter
  • aDescription (str) – Graph input description
  • aInGroup (str) – Graph input group
  • aDisplayName (str) – Graph input display name
  • aGammaType (str) – Graph input gamma type
  • aSoftRange (list) – a soft range for the graph parameter
  • aHardRange (list) – a hard range for the graph parameter
Returns:

ModuleParamInput

 Adobe

Get help faster and easier

New user?

Adobe MAX 2024

Adobe MAX
The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX

The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX 2024

Adobe MAX
The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX

The Creativity Conference

Oct 14–16 Miami Beach and online