Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
On 24/07/2018 at 09:14, xxxxxxxx wrote:
User Information: Cinema 4D Version: R14 Platform: Windows ; Mac ; Language(s) : C++ ;
--------- Is it possible to get whether a material is currently being used in a scene? In a similar way to how Remove Unused Materials checks, but without the deleting step.
Dan
On 25/07/2018 at 02:21, xxxxxxxx wrote:
Hi Dan,
You can read the assignment data with the following code
Bool MyCommand::Execute(BaseDocument* doc) { BaseMaterial* mat = doc->GetActiveMaterial(); if (mat == nullptr) return true; GeData d; if (!mat->GetParameter(DescLevel(ID_MATERIALASSIGNMENTS), d, DESCFLAGS_GET_0)) return true; MatAssignData *mad = (MatAssignData* )d.GetCustomDataType(CUSTOMDATATYPE_MATASSIGN); if (mad) GePrint(String::IntToString(mad->GetObjectCount()) + " objects"); return true; }
If you have any question, please let me know. Cheers, Maxime