How to obtain the API of [hide by category]

mx_zwh
Contributor
Contributor

How to obtain the API of [hide by category]

mx_zwh
Contributor
Contributor

3DSMAX2022,How to obtain the API of [hide by category],

mx_zwh_0-1654765575609.png

 

0 Likes
Reply
402 Views
4 Replies
Replies (4)

mx_zwh
Contributor
Contributor

top

0 Likes

darawork
Advisor
Advisor

Hi,

 

Maxscript below to get you started, courtesy of Miauu:

 

 

 

 

--******************************************************************************************************
-- Created: 		05-08-2013
-- Last Updated:	05-08-2013
-- Version:			1.00
--
-- Author :  Kostadin Kotev / miau_u@yahoo.com / http://miauumaxscript.blogspot.com/
-- Version:  3ds max 2009 (10) (should work in older versions too!)
--
-- Discription: Hide objects by category
--	If nothing selected will make all objects visible.
--	If spline object is selected it hide only the spline objects
--	If light object is selected it hide only the light objects
-- Usage: RUN IT
--
--******************************************************************************************************
-- MODIFY THIS AT YOUR OWN RISK

macroscript miauuHideByCategory
category:"miauu"
tooltip:"Hide By Category"
buttonText:"Hide By Category"
(	
	curO = selection[1]
	if curO == undefined then
	(
		hideByCategory.none()	--	show all
	)
	else
	(
		try
		(	
			case (superclassof curO) of
			(
				GeometryClass: (hideByCategory.geometry = true)
				Shape: (hideByCategory.shapes = true)
				Light: (hideByCategory.lights = true)
				Camera: (hideByCategory.cameras = true)
				Helper: (hideByCategory.helpers = true)
				SpacewarpObject: (hideByCategory.spacewarps = true)	
			)
			case (classof curO) of
			(
				PF_Source: (hideByCategory.particles = true)
				PCloud: (hideByCategory.particles = true)
				Spray: (hideByCategory.particles = true)
				SuperSpray: (hideByCategory.particles = true)
				Snow: (hideByCategory.particles = true)
				Blizzard: (hideByCategory.particles = true)
				PArray: (hideByCategory.particles = true)
				
				Biped_Object: (hideByCategory.bones = true)
				BoneGeometry:(hideByCategory.bones = true)
			)
		)catch()
	)
)

 

 

 

 

https://www.scriptspot.com/3ds-max/scripts/hide-by-category

Or, in the case of the filters, I could only find this:

 

 

for i = 1 to GetNumberDisplayFilters() do
(
    format "%: % : %\n"i (GetDisplayFilterName i) (GetDisplayFilter i)
)
1: Non-Corona : false
2: CAT Bone : false
3: Bone : true
4: IK Chain Object : false
5: Point : false

 

 


https://forums.cgsociety.org/t/accessing-the-hide-by-category-multilistbox-with-maxscript/2054010
Although, this is for an older GUI version, I presume the Maxscript hasn't changed.

Also, here is the official AutoDesk Documentation on the subject:
https://help.autodesk.com/view/MAXDEV/2022/ENU/?guid=GUID-97C887B6-CE4D-46EB-AB10-BE3A9DC2F69A
*Please note that the filter callbacks are only available in 3ds Max 2021.1 Update and higher.


Regards,

Darawork
AutoDesk User
Windows 10/11, 3DS Max 2022/24, Revit 2022, AutoCad 2024, Dell Precision 5810/20, ASUS DIY, nVidia Quadro P5000/RTX 5000/GTX760

0 Likes

mx_zwh
Contributor
Contributor

This does not apply to 3dsmax2022

0 Likes

darawork
Advisor
Advisor

Hi,

 

Did you manage to find out the 'API' (Maxscript) yet?

 

"*Please note that the filter callbacks are only available in 3ds Max 2021.1 Update and higher." 

 

Best regards, 

Darawork
AutoDesk User
Windows 10/11, 3DS Max 2022/24, Revit 2022, AutoCad 2024, Dell Precision 5810/20, ASUS DIY, nVidia Quadro P5000/RTX 5000/GTX760

0 Likes