Skip to main content
Flowgun
Inspiring
November 2, 2025
Answered

Script to change art history brush preset?

  • November 2, 2025
  • 1 reply
  • 79 views

Hello,
can anyone help me with a script that changes the style of the art history brush (e.g: dab, tight short....)?

Correct answer Flowgun

I figured it out:

function setArtHistoryBrushStyle(style) {
        if (style === undefined) style = 6;
        var ref = new ActionReference();
        ref.putProperty(stringIDToTypeID("property"), stringIDToTypeID("currentToolOptions"));
        ref.putEnumerated(stringIDToTypeID("application"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
        var fullDesc = executeActionGet(ref);
        var cto = fullDesc.getObjectValue(stringIDToTypeID("currentToolOptions"));
        cto.putInteger(charIDToTypeID("AHBs"), style);
        var desc = new ActionDescriptor();
        var refTarget = new ActionReference();
        refTarget.putClass(stringIDToTypeID("artBrushTool"));
        desc.putReference(stringIDToTypeID("target"), refTarget);
        desc.putObject(stringIDToTypeID("to"), stringIDToTypeID("currentToolOptions"), cto);
        executeAction(stringIDToTypeID("set"), desc, DialogModes.NO);
        return true;
}

 

1 reply

Flowgun
FlowgunAuthorCorrect answer
Inspiring
November 3, 2025

I figured it out:

function setArtHistoryBrushStyle(style) {
        if (style === undefined) style = 6;
        var ref = new ActionReference();
        ref.putProperty(stringIDToTypeID("property"), stringIDToTypeID("currentToolOptions"));
        ref.putEnumerated(stringIDToTypeID("application"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
        var fullDesc = executeActionGet(ref);
        var cto = fullDesc.getObjectValue(stringIDToTypeID("currentToolOptions"));
        cto.putInteger(charIDToTypeID("AHBs"), style);
        var desc = new ActionDescriptor();
        var refTarget = new ActionReference();
        refTarget.putClass(stringIDToTypeID("artBrushTool"));
        desc.putReference(stringIDToTypeID("target"), refTarget);
        desc.putObject(stringIDToTypeID("to"), stringIDToTypeID("currentToolOptions"), cto);
        executeAction(stringIDToTypeID("set"), desc, DialogModes.NO);
        return true;
}