ZBrushCentral

Folders Count + Droplist

Hello guys,
i need help.
1- How can count the folders in subtools panel?
2- How cna make a droplist of folders with names?

@facelessmindz @marcus_civis
Thanks you
Eduardo

3- How can “drag and drop” a subtool in a folder?

@facelessmindz @marcus_civis

for 1-2-3,
You have to iterate in the subtool tree and use [SubtoolGetStatus] to seek the folder eye flag, then if on i guess you have to use [SubtoolGetFolderName]

[SubToolGetStatus,Subtool Index (zero based). If omited then use the currently selected subtool.]
Returns the status of a subtool
Output: Returns the status (Subtool Eye=0x01, Folder Eye=0x02,UnionAdd=0x10,UnionSub=0x20,UnionClip=0x40,UnionStart=0x80,ClosedFolder=0x400,OpenedFolder=0x800) .

[SubToolGetFolderName,Tool Index (zero based). If omited then use the currently selected tool.]
Returns the ffolder name of the specified subtool
Output: Result folder name or empty if subtool is not in a folder.

For the droplist you have an example with the ZFileUtil library.
You can’t to drag and drop only if you know where to click on the interface using [IClick],

[IClick,Interface item path,X1,Y1,X2,Y2,X3,Y3,X4,Y4,X5,Y5,X6,Y6,X7,Y7]
Emulates a click within a specified ZBrush interface item

If you want to add the current subtool within a folder which exists you can only move it with [IPress, “tool:”} you have to iterate on the full subtool tree until you found the desired folder by index or name then once you reach the right folder use LoopExit, but it gonna be like the subtool will be added at the end end the folder.

hope this helps
Nicolas

How to make the right ISET?

[Loop,totalSubtools,
		[SubToolSelect,[Val,n]]
		[If,(activeST == n),
			[VarSet,currentST, [IGetTitle, Tool:SubTool:ItemInfo]]
			[Note,currentST]
			[ISet,Tool:SubTool:#currentST,0,currentFolder(0)]
		]
	//[SubToolSelect,originalSubtool]
	,n]

The zbrush software doesn’t read the #currentST
How can fix it?
Is correct to assigned the Folder in the second value of ISET Code?

@marcus_civis @facelessmindz

because the #currentST is not considered as a variable name but a string, you need the [StrMerge] for that.
[Loop,totalSubtools,
[SubToolSelect,[Val,n]]
[If,(activeST == n),
[VarSet,currentST, [IGetTitle, Tool:SubTool:ItemInfo]]
[Note,currentST]
[ISet, [StrMerge, “Tool:SubTool:”, #currentST],0,currentFolder(0)]
]
//[SubToolSelect,originalSubtool]
,n]

Hope it helps,
Nicolas

1 Like