Interface: SME

The SME Core Interface introduced in 3ds Max 2011 exposes properties and methods related to the Slate Material Editor.

Interface: SME

Properties:

sme.activeView : index : Read|Write      

Get/set the Slate Material Editor's active View.

Methods:

<void>sme.Open() 

Opens the Slate Material Editor.

<void>sme.Close() 

Closes the Slate Material Editor.

<boolean>sme.IsOpen() 

Returns true if the Slate Material Editor is open, false if it is closed.

<integer>sme.GetNumViews() 

Returns the number of Node Views as an integer.

<index>sme.CreateView <string>name 

Creates a new Node View with the given name and returns its index.

<IObject>sme.GetView <index>index 

Returns an IObject:IFP_NodeViewImp object representing the indexed Node View.

<index>sme.GetViewIndex <IObject>view 

Returns the index of the given Node View IObject:IFP_NodeViewImp object.

<index>sme.GetViewByName <string>name 

Returns the index of the named Node View.

<void>sme.DeleteView <index>index <boolean>ask_user 

Deletes the indexed Slate Material Editor view.

If the second argument is true, prompts the user for confirmation, otherwise deletes the view without prompting.

<maxObject>sme.GetMtlInParamEditor() 

Returns the material or map current displayed in the Parameter Editor of the Slate Material Editor.

sme.SetMtlInParamEditor <maxObject> 

Sets the material or map to be displayed in the Parameter Editor of the Slate Material Editor.

Available in 3ds Max 2014 and higher.

<Interface>sme.GetNavigator() 

Returns an WndBase Interface to the Slate Material Editor's Navigator.

<Interface>sme.GetMaterialPool() 

Returns an WndBase Interface to the Slate Material Editor's Material Pool.

<Interface>sme.GetParamEditor() 

Returns an WndBase Interface to the Slate Material Editor's Parameter Editor.

<Interface>sme.GetMainframe() 

Returns an WndBase Interface to the Slate Material Editor's Main Frame.

<maxObject>DoMtlBrowseDlg <HWND>parent <integer>flags <&boolean>newMat <&boolean>cancel fromLibrary:<&boolean> copiedMaterial:<&boolean>
       newMat is In and Out parameter
       cancel is In and Out parameter
       fromLibrary default value: undefined
       fromLibrary is In and Out parameter
       copiedMaterial default value: undefined
       copiedMaterial is In and Out parameter

Opens a modal Material/Map browser dialog.

The first argument is the window handle of the parent window, use 0 for none.

The second argument is a flags value controlling the display of materials and maps in the dialog. Possible Flag values are:

1,5,9... - Materials, Sample Slots

2,6,10... - Maps

0,3,7,11... - Maps, Materials, Sample Slots

4,8,12... - None

The third by-reference argument will contain true if a new material was created, false if an existing one was picked.

The fourth by-reference argument will contain true if the Cancel button was clicked, false if the OK button was clicked.

EXAMPLE

``` isNew = false isCanceled = false c = sme.DoMtlBrowseDlg 0 0 &isNew &isCanceled

```

<void>sme.OpenMtlBrowseDlg() 

Opens the Material Browser Dialog.

<boolean>sme.OpenMtlLib <string>path name:<string>
       name default value: ""

Opens the material library specified by the file path and optional name. If only the material library file name is specified in the path, the current material library directory is searched for the specified filename. The optional name parameter can specify a path to a library as it is named in the Material Browser, where backslashes denote folder hierarchy. For example, "Maps\OSL\Shiny Things" would open a material library named "Shiny Things" in a folder named "OSL" in the folder named "Maps". Available in 3ds Max 2021 and higher. Returns true if the library was successfully found and opened, false if not.

For example:

sme.OpenMtlLib "Nature.mat"
<boolean>sme.HasMtlLib <string>path

Returns true if the specified material library is open in the Slate Material Editor. Available in 3ds Max 2021 and higher.

<boolean>sme.IsMtlLibModified <string>path 

Returns true if the specified material library has been modified (materials have been added, deleted, or changed), false if not. Available in 3ds Max 2021 and higher.

<boolean>sme.SaveMtlLib <string>path 

Saves the specified material library, returning true if successful, false if not. Available in 3ds Max 2021 and higher.

<boolean>sme.SaveMtlLibAs <string>path newPath:<&string>
       newPath default value: ""
       newPath is In and Out parameter

Saves a copy of the specified material library from the location and file name specified by path to the optional newPath. If newPath is empty, a file chooser dialog is displayed and the user is prompted for a new path and filename, and the selected path is returned in newPath. Available in 3ds Max 2021 and higher.

<boolean>sme.CloseMtlLib <string>path

Closes the material library specified by path. Available in 3ds Max 2021 and higher. ### IFP_NodeViewImp : IObject

Interface: NodeView

Properties:

.name : string : Read|Write 

Get/set the name of the Node View.

Methods:

<integer>GetNumNodes() 

Returns the number of nodes in the View.

<Interface>GetNode <index>index 

Returns the Node Interface of the indexed node from the View.

<Interface>GetNodeByRef <maxObject>ref 

Returns the Node Interface to the given Material or Map object reference, or undefined if the reference does not exist in the Node View.

<Interface>CreateNode <maxObject>ref <&point2>pos 

pos is In and Out parameter

Creates a new node from the given Material or Map object reference at the position specified by-reference.

<void>DeleteSelection() 

Deletes the selected nodes.

<void>SelectNone()

Deselects all nodes in the Node View.

Available in 3ds Max 2014 and higher.

<void>SelectAll()

Selects all nodes in the Node View.

Available in 3ds Max 2014 and higher.

<void>SelectInvert()

Inverts the node selection in the Node View.

Available in 3ds Max 2014 and higher.

<Interface by value array>GetSelectedNodes()

Returns the selected nodes in the Node View as an array of Node Interfaces.

Available in 3ds Max 2014 and higher.

<void>SetSelectedNodes <maxObject by value array>refs

Sets the Node View selection to the array of Materials and/or Maps object references provided as argument.

Setting the selection will deselect any other previously selected nodes.

This function will not open any items in the Parameter Editor - you can use the sme.SetMtlInParamEditor() method documented earlier in this topic.

Available in 3ds Max 2014 and higher.

<void>ZoomExtents type:<enum> 
type enums: {#all|#selected} 
type default value: #all

Zooms the Node View to show all nodes or all selected nodes according to the type optional keyword argument.

Available in 3ds Max 2014 and higher.

Interface: WndBase

Properties:

.position : point2 by value : Read|Write 

Get/set the Position of the Node View.

.size : point2 by value : Read|Write 

Get/set the Size of the Node View.

.visible : boolean : Read|Write 

Get/set the Visibility of the Node View.

Methods:

<void>SetFocus() 

Sets the focus on the Node View.

<Interface>GetParent() 

Returns the WndBase interface of the Parent of the Node View.

Interface: Node

Properties:

.name : string : Read|Write

Get/set the name of the Node.

.position : point2 by value : Read|Write

Get/set the Position of the Node inside the Node View.

.selected : boolean : Read|Write

Get/set the Selected state of the Node.

Available in 3ds Max 2014 and higher.