ID Tools offers a handful of operators to aid in debugging and manipulating IDs. Whether it's to help artists optimize their work, or help new users understand data-block relationships, it can sure be useful to put on a utility belt with operators at your disposal.
NOTE:
"ID" is a term exchangeable with "data-block". ID = data-block
ID Tools registers these operators:
Weigh IDs
Export Selected IDs as Library
Replace ID
User Path Report
Quick Make Pointer from Parent ID
Make Pointer from Parent ID
Remove All Pointers to IDs
Dump All Pointers from IDs
Make Custom Properties Overridable
The list below shows all the available operators, and where to access them.
This operator is accessible from:
Object -> Weigh IDsContext Menu (right click) -> ID Tools -> Weigh IDsContext Menu (right click) -> ID Tools -> Weigh IDsWeigh IDs quickly provides the file size of selected IDs through the info report at the bottom of the screen.
Please note that the resulting size is not just the IDs, and also includes the .blend file headers.
RELATIVE_ALL is used.This operator is accessible from:
Context Menu (right click) -> ID Tools -> Export Selected IDs as LibraryContext Menu (right click) -> ID Tools -> Export Selected IDs as LibraryWhen the operator is called, a file select menu will pop-up allowing you to find a destination to export the selected IDs to. When you have confirmed, a new .blend file will be written containing only the IDs you have selected, and required dependencies.
This operator is accessible from:
Context Menu (right click) -> ID Tools -> Replace IDContext Menu (right click) -> ID Tools -> Replace IDThis operator replaces all instances of the ID that the operator was called through with a new Chosen ID.
If the behavior is reversed with Replace With Selected, the operator will replace all instances of the Chosen ID with the ID that the operator was called through.
Context Menu (right click) -> ID Tools -> User Path ReportContext Menu (right click) -> ID Tools -> User Path ReportThis operator reports all paths where an ID is used. This goes a step further from simply reporting which IDs are using the ID in question.
For example, this can be used to show the exact locations (or paths) where an image is used. It will report the exact node that is using the image.
The "User Path Report" is printed into the console to read.
Context Menu (right click) -> ID Tools -> Make C.Properties OverridableContext Menu (right click) -> ID Tools -> Make C.Properties OverridableEnables the library overridable flag on all custom properties. Only applies to float, int, or bool types.
A pointer is a property that targets another ID. Below is an example of creating a pointer using custom properties:
bpy.data.objects["RIG-Tripod_Monster"]["rig_ui"] = bpy.data.texts["tripod_monster_ui"]
Now, the text file is always attached to the rig object, and will always be imported with it.
Pointers ensure that targeted IDs are always attached and associated with the pointer holder. Any ID can have custom properties that point to any ID. A single custom property can point to more than one ID.
Context Menu (right click) -> ID Tools -> Quick Make Pointer from Parent IDA custom property pointer will quickly be made, from the active ID, to the selected IDs. The default custom property name is "id_tools_pointer"
"id_tools_pointer" by default)Context Menu (right click) -> ID Tools -> Make Pointer from Parent IDContext Menu (right click) -> ID Tools -> Make Pointer from Parent IDWhen called, a UI will be displayed to configure the pointer. The ID the operator was called through will be pointed to by the Parent ID selected in the UI.
Context Menu (right click) -> ID Tools -> Remove All Pointers to IDsContext Menu (right click) -> ID Tools -> Remove All Pointers to IDsRemoves all the custom property pointers that are pointing to the selected IDs
Context Menu (right click) -> ID Tools -> Dump All Pointers from IDsContext Menu (right click) -> ID Tools -> Dump All Pointers from IDsDumps all the custom property pointers from the selected IDs
Created by hisanimations
I hope you find it useful!
This extension requests the following permission:
Temporarily create .blend files to weigh them
Thank you for the review and the critique. Data Scale 1.0.2 now supports universal ID access.
A nice little add-on that does exactly what it says on the tin (and more)! Was really useful trying to figure out what was bloating up my save files that were mysteriously hundreds of megabytes large.
The only improvement I could ask for is the ability to weigh the ID's of things from the video sequencer, as that's where I found most of my storage being eaten up.