User Guide Cancel

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

mdlmanager

Module mdlmanager provides the class MDLManager that allows requesting a native mdl node information.

 class mdl.mdlmanager.MDLManager  

Bases: object

Class used handle the MDL library and to request information on a MDL instance

 MATERIAL_CONSTRUCTOR_FUNCTION = 'mdl::material(bool,material_surface,material_surface,color,material_volume,material_geometry,hair_bsdf)'  
 static addRootPath()  

Add the given absolute path to the list of mdl root paths

Parameters:aPath (str) – The absolute path to the directory to add
Raise:IOError in case the provided path does not exists
 static extractMDLModulesFrom(aRootPaths)  

Call mdltools executable to extract the JSON data of the mdl module found in the given list of root path.

Parameters:aRootPaths (list of strings) – The root path list to consider
Returns:the number of extracted items
 static getAcceptConnectionByDefaultForType(aTypePath, aParamListContainsRefOrMaterial)  

Get the default connectivity status for an input pin, depending on the given type

Parameters:aTypePath (str) – the mdl path of the type
Returns:True if by default this type accepts connection, False otherwise
 static getConstantDefaultAnnotations(aTypePath, aExposed)  

Get the list of annotation definition for a MDL constant node.

Parameters:
  • aTypePath (str) – mdl path of the type of the constant
  • aExposed (bool) – True to consider a constant exposed as an input parameter, False otherwise
Returns:

a list of MDLAnnotation

 static getGraphDefaultAnnotations()  

Get the list of annotation definition for a MDL graph.

Returns:a list of MDLAnnotation
 static getMDLAnnotationDefinition(aAnnotation)  

Get the annotation definition

Parameters:aAnnotation (MDLAnnotationEnum or str) – The annotation to get, as an enumeration value, or a complete mdl path
Returns:The annotation definition as a MDLAnnotationDef
 static getMDLNodeDefinition(aPath)  

Get the MDLNodeDef object corresponding to the given mdl path

Parameters:aPath (string) – The mdl path (for instance ‘mdl::base::color_layer(color,float,::base::color_layer_mode)’)
Returns:The MDLNodeDef object if the path is found, None otherwise
 static getMDLTypeDefinition(aPath)  

Get the MDLTypeDef object corresponding to the given mdl path

Parameters:aPath (string) – The mdl path (for instance ‘mdl::color’)
Returns:The MDLTypeDef object if the path is found, None otherwise
 static getRootPaths()  

Get the list of MDL root paths

Returns:The MDL root paths package path as a list of strings
 static initAllMDLModules()  

Initialize the MDL library with all the modules found in the MDL root paths

 static isAColor(aTypePath)  

Check whether the given type is related to a color or not.

Returns:True if this type can be interpreted as a color, False otherwise
 static isModulePathDenyListed(aPath)  

Check if the given mdl path is deny listed and cannot be instantiated as a node

Parameters:aPath (str) – The path to check
Returns:True if the path is deny listed, False otherwise
 static parseJsonData(jsonData)  

Parse the given JSON data to extract the MDL functions and materials found in it

Parameters:jsonData – The JSON data, in the format created by ‘mdltools’ executable
Returns:the number of extracted items
 static resolveVersionnedFunctionPath(path)  

Check if the parsed path match mdltools MDL specification, if not change it to a versionned function path

Parameters:path (str) – mdl path to resolve
Returns:str, resolved path, same as argument if not resolved required
Raise:api_exceptions.SBSLibraryError
 setRootPaths(aPathList)  

If the given root path list is different from the ones already loaded, reinitialize the MDL library with the given root path. Do nothing otherwise.

Parameters:aPathList (list of string) – the MDL root path list to set, as absolute paths

Get help faster and easier

New user?