Copy link to clipboard
Copied
While building Ai Command Palette I found a great list of executeMenuCommand() values extracted by Shalako Lee from the 2017 SDK. As you might imagine, some of those commands no longer work, and since I'm about to release v0.2.0 of Ai Command Palette I've been testing them all and keeping track of the results in this Google Sheet.
I'm sharing this here because I figured this might be useful to some of you who write scripts for Illustrator. The sheet includes the Original List of commands from Shalako and a working list of the commands that I'm testing in Ai v26.3.1.
Right now I'm about halfway through the original 506 commands from Shalako's list. So far, I've found about 90 that no longer work. I've also updated any verbiage that may have changed in the menu system (since 2017) and updated the ordering to match Ai v26.3.1.
I also, made a simple script to test the commands below if you want to test any yourself. I'm trying to test each command in context to ensure they are working correctly.
Let me know if you have any other that I may have missed... Cheers!
P.S. There is another list on this forum (posted in 2014) that I have yet to review but I am aware of it and plan to compare it with Shalako's.
var result = prompt("Enter Command To Test", "", "Test Built-In Commands");
try {
app.executeMenuCommand(result);
} catch (e) {
alert("Error executing command:\n" + result + "\n\n" + e);
}
You may be interested in this
I've found Ten A's list to be the most complete:
https://ten-artai.com/illustrator-ccver-22-menu-commands-list
I also maintain a menuCommandString database, so I will introduce it. It is Illustrator 2022 (26.4.1) equivalent and is made of Notion. There are currently 530 commands in this database.
Illustrator Reference/ExtendScript/app.executeMenuCommand | Notion
There are my files for:
Found new commands in Illustrator v29.0.
menu |
key |
note |
Object > Objects on Path > Attach |
Attach Objects on Path |
Added from v29.0 |
Object > Objects on Path > Options |
Options Objects on Path |
Added from v29.0 |
Object > Objects on Path > Expand |
Expand Objects on Path |
Added from v29.0 |
Window > Type > Reflow Viewer |
ReflowWindowMenu |
Added from v29.0. East asian feature |
And a tool.
tool |
key |
note |
Objects on Path |
Adobe Constraints Tool |
Added from |
Copy link to clipboard
Copied
Ow really, that's a waste of time. I mean I remember prior to finding that, that checking layout takes so much time
Copy link to clipboard
Copied
Greetings all!
I would like to know how to set specific numbers in dialog boxes that pop-up.
For example using offset path with "app.executeMenuCommand('OffsetPath v23');" and setting the Offset to either 2mm or -2mm with Miter joins and 4 Miter limit.
Is that possible?
Copy link to clipboard
Copied
Windows — autohotkey, macos — hammerspoon.
Copy link to clipboard
Copied
No not that I know of, dialogs are not opened for api. You can highlight or activate input fields and add data
Copy link to clipboard
Copied
What you can do is make a dynamic action and add this in a script. It think it should be possible than, perhaps.
I've used this approach to call the delete action and some other dialogs which are not exposed to scripting.
Have a look at this thread
Copy link to clipboard
Copied
I got a test file working. I'll make it complete so you can also use the other inputs..
You need it for script right?
Because adding a dialog window for this doesn't make sense because it's already a dialog window.
As I got it now, the script will add a new action set and action with the variable or dynamic data input, it will run the action and then delte the action set. It works from a jsx file all automated
Copy link to clipboard
Copied
Yes, I needed it for script.
Calling the Object-Path-Offset Path menu command opens a dialog box where you have to set the parameters you want. That stops the script and it's not completely automated. I also don't want to have dependencies on actions or external software like hammerspoon, another user suggested, because this script will run on many computers that will not have the actions or hammerspoon.
I found a workaround using LiveEffect and then expanding the object instead. Thanx for the response!
function offsetPath(original, offsetMM) {
var copy = original.duplicate();
copy.selected = true;
var offsetPt = offsetMM * 2.83465;
var effectString = '<LiveEffect name="Adobe Offset Path">' +
'<Dict data="R mlim 4 R ofst ' + offsetPt + ' I jntp 1"/>' +
'</LiveEffect>';
var prevLevel = app.userInteractionLevel;
app.userInteractionLevel = UserInteractionLevel.DONTDISPLAYALERTS;
app.executeMenuCommand("expandStyle");
app.executeMenuCommand("deselectall");
Copy link to clipboard
Copied
I got it working, it dynamically adds an action runs offset path and then removed the action.
When I'm at work, I'll post my solution. Perhaps it helps other users. Always nice to have more options.
Ps like to share where you got that live effect info from?
Copy link to clipboard
Copied
I started with this thread then experimented till getting it working.
Apply Offset Path with specific values via script
Find more inspiration, events, and resources on the new Adobe Community
Explore Now