11 votes
Date Updated: 

This is a scripted modifier. Place this script in your scripts/startup directory and restart Max. This modifier can be added to any object and is designed to hold Custom Attributes. There are added tools for keying and reseting all the CA's as well as saving presets and copy/paste functions. You can also save the presets out to a text file to be loaded on other objects in the scene.

Additional Info: 

3ds max 8 users - download version 2.06 instead.

This is an update with a few added features. I have made the interface more compact by moving the preset management buttons to a RC menu that is located in the < button. There is also a slider now that ramps the preset values up so that mid points to the presets can be used. This is great for having a preset for a fist but using it to get a relaxed position half way.

Name: Name of a new preset to be created.
Add: Set the spinners and sliders to the value you want to create a preset for - type a name in the Name field and then press Add. A new preset will sohw up in the presets list.
Delete Selected Preset: Select the preset from the Presets list and press Delete.
Delete All Presets: Deletes all the presets for the modifier.
Save: Saves all the presets to a text file.
Load: Loads presets from a text file over writting the originals. Note: This works based on the order of the CA's on the modifier and not by thier names.
Merge: Merges presets from a text file with existing presets. Note: It is possible to create duplicate names with different settings.
Presets: This is a list of all presets and when one is choosen from the list all the attributes will be updated to the preset value.

Ramp: This is a new feature in v2.05 - it alows for the values of the presets to be ramped up and used at any point. The green button is a toggle for this feature incase you want to have it work in an absolute fashion. Select a preset and ramp the slider from 0 to 100 to get a gradual result for the preset.

Key All: Keys all attributes added to the modifier.
Reset All: Resets all attributes on the modifier to a value of 0.
Copy: Copies the existing values of the CA's to the buffer.
Paste: Pastes the buffer back to the CA's. This is great for copying and pasting a pose from one hand to another.

Copy the .ms file to the scriptsstartup folder and restart Max. The modifier is found in the modifier list.

Assuming that PEN_attributeHolder is the first modifier in the stack this will return the Presets rollout. You can use createDialog to open it as a floating window. PEN_AttributeHolder can't be displayed in the modifier stack at the same time because the rollout can't be created twice.

Version Requirement: 
8; 7; 6; 5
Video URL: 


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
3dline's picture


At last Autodesk understand that Pen Attribute Holder is a necessary script for MAX and add it to 2017 version, and now it's a part of 3Ds MAX, hereinafter.

magilla's picture

Persistent attributes

Hey Paul,
when I use the attribute holder I have sometimes come across scene files that take on the custom attributes of the previously opened file. Or where multiple characters share attributes from copy pasted attribute holder mods, one will overwrite the other. This is not any fault of the attribute holder but I thought you may have a solution to this, like reassigning unique i'ds to a ca in the holder?


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.