#filePreOpen:(integer | undefined)
Sent before a new file is opened.
Calling callbacks.notificationParam()
returns an integer value of 2 if a render preset file is being opened, undefined otherwise.
#filePostOpen: (integer |undefined)
Sent after a new file is opened successfully.
Calling callbacks.notificationParam()
returns an integer value of 2 if a render preset file is being opened, undefined otherwise.
#filePreOpenProcess: #(integer, string)
Sent before the file open process starts. This event is sent immediately after #filePreOpen
, and it sends additional information not sent by #filePreOpen
.
Calling callbacks.notificationParam()
returns an array with two elements:
The first element is 1 if doing a normal file load, 2 if doing an Edit>Fetch .
The second element is the scene file name being loaded.
EXAMPLE:
callbacks.removeScripts id:#testCallback callbacks.addScript #filePreOpenProcess "print (callbacks.notificationParam())" id:#testCallback
PERFORM A FETCH - THE CALLBACK WILL PRINT:
2 "C:\Documents and Settings\user\My Documents\3dsmax\autoback\maxhold.mx"
#fileOpenFailed: integer
Sent after a file open fails.
Calling callbacks.notificationParam()
returns an integer indicating the file type, where 0 is a 3ds Max file, and 1 is a material library.
#filePostOpenProcess: #(integer, string)
Sent after the file open process has finished. This callback is sent immediately after #filePostOpen
, and it sends additional information not sent by #filePostOpen
.
Calling callbacks.notificationParam()
returns a 2 element array:
#filePostOpenProcessFinalized: undefined
Sent after #filePostOpenProcess is sent and all animatables created by the load process but no longer used are deleted. Available in 3ds Max 2018 and higher.
#filePreSave: string
Sent before a file is saved.
Calling callbacks.notificationParam()
returns a String containing the file name.
#filePostSave: string
Sent after a file is saved.
Calling callbacks.notificationParam()
returns a String containing the file name.
#filePreSaveProcess: #(integer, string)
Sent before the save process has started.
Calling callbacks.notificationParam()
returns a 2 element array:
Element 1 is
1 if doing a normal file save,
2 if doing an Edit>Hold
3 if doing an Autobackup
Element 2 is the scene file name being saved.
EXAMPLE:
Evaluate the following code:
callbacks.removeScripts id:#testCallback callbacks.addScript #filePreSaveProcess "print (callbacks.notificationParam())" id:#testCallback
Save the file to "TestingCallback.max" - the callback will print:
1 "C:\Documents and Settings\user\My Documents\3dsmax\scenes\testingcallback.max"
Perform an Edit>Fetch at this point - the callback will print:
2 "C:\Documents and Settings\user\My Documents\3dsmax\autoback\maxhold.mx"
Wait fro the Autobackup to kick in - the callback will print:
3 "C:\Documents and Settings\user\My Documents\3dsmax\autoback\AutoBackup01.max"
#filePostSaveProcess: #(integer, string)
Sent after the save process has finished.
Calling callbacks.notificationParam()
returns the same 2-element array as #filePreSaveProcess
- please see above for details.
#filePreSaveOld: undefined
Sent before an old version file is saved.
#filePostSaveOld: undefined
Sent after an old version file is saved.
#filePreMerge: integer
Sent before a file is merged.
Calling callbacks.notificationParam()
returns an integer value of 1 if object or scene Xref merged, undefined otherwise.
#filePostMerge: integer
Sent after a file is merged successfully.
Calling callbacks.notificationParam()
returns an integer value of 1 if object or scene Xref merged, undefined otherwise.
#filePostMerge2: #(integer, integer)
Sent after a file is merged successfully, right after #filePostMerge.
Calling callbacks.notificationParam()
returns an array with two elements, with the first element being the file save version, and the second element the file save as version.
For example, if loading a file saved from 3ds Max 2017, where a Save As Type was set to 3ds Max 2016, the values would be 19000 (MAX_RELEASE_R19) and 18000 (MAX_RELEASE_R189). See the plugapi.h file in the 3ds Max SDK for possible values.
#filePostMerge3: #(string, boolean, integer, integer, boolean)
Sent after a file is merged successfully, right after #filePostMerge2. Available in 3ds Max 2020.1 Update and higher.
Calling callbacks.notificationParam()
returns an array with five elements:
#filePostMerge
and #filePostMerge2
, as well as additional information, and should be used as a replacement for those notifications.#filePostMergeProcess: undefined
Sent after the merge process has finished.
#filePostMergeProcessFinalized: undefined
occurs after #filePostMerge2 is sent and all animatables created by merge process but no longer used are deleted. Available in 3ds Max 2018 and higher.
#preImport: undefined
Sent before a file is imported.
#postImport: filename
Sent after a file is imported successfully.
Calling callbacks.notificationParam()
returns the name of the file being imported. Available in in 3ds Max 2017 and higher.
#importFailed: undefined
Sent if import fails.
#preExport: undefined
Sent before a file is exported.
#postExport: filename
Sent after a file is exported successfully.
Calling callbacks.notificationParam()
returns the name of the file being exported. Available in in 3ds Max 2017 and higher.
#exportFailed: undefined
Sent if export fails.