Список файлов в нужной папке и вложенных получить могу, обрезать лишнее тоже, но неясно как это вывести при произвольном количестве вложенности и файлов.
Вручную вложенные меню успешно делаются:
(взято из SmartMenu http://www.scriptspot.com/3ds-max/scripts/smart-menu и хелпа)
Список файла в виде массива, разобрать filterString'ом можно.
Вручную вложенные меню успешно делаются:
Код:
------------------ deleting previous menu
if ((menuMan.findMenu "MyScripts") != undefined) then
(
menuMan.unRegisterMenu (menuMan.findMenu "MyScripts")
menuMan.updateMenuBar()
)
--------------------creating menu
mainMenuBar = menuMan.getMainMenuBar()
subMenu = menuMan.createMenu "MyScripts"
str = "macroscript smartmenu" + "51" /*(ii as string)*/ + " category:\"smartmenu\" buttontext:\"" + "(getFilenameFile i)" + "\" (execute (print \"hello\" /*openFile \"" + "i" + "\"*/))"
execute str
-- menuMan.createActionItem "macroScriptName" "macroScriptCategory"
testItem = menuMan.createActionItem ("smartmenu51"/* + "(ii as string)"*/) "smartmenu"
subMenu.addItem testItem -1
separator = menuMan.createSeparatorItem()
subMenu.addItem separator -1
subSubMenu = menuMan.createMenu "test submenu"
testSubItem = menuMan.createSubMenuItem "name" subSubMenu
subMenu.addItem testSubItem -1
subSubSubMenu = menuMan.createMenu "test subsubmenu"
testSubSubItem = menuMan.createSubMenuItem "subname" subSubSubMenu
subSubMenu.addItem testSubSubItem -1
testItem = menuMan.createActionItem ("smartmenu51"/* + "(ii as string)"*/) "smartmenu"
subSubSubMenu.addItem testItem -1
-----------------------updating menu
subMenuItem = menuMan.createSubMenuItem "Test Menu" subMenu
subMenuIndex = mainMenuBar.numItems() - 1
mainMenuBar.addItem subMenuItem subMenuIndex
menuMan.updateMenuBar()
Список файла в виде массива, разобрать filterString'ом можно.