Copy link to clipboard
Copied
Hi,
I have been trying to make a simple script that selects all elements on an artboard and makes a symbol with the name of the artboard. Unfortunately the symbols.add(selection) does not work. Can anyone give me a clue or solution.
Copy link to clipboard
Copied
One can't debug code that one can't see. Also, it would be helpful to show what you're trying to achieve with a screenshot.
Copy link to clipboard
Copied
Hi,
You can try the following,
var doc = app.activeDocument;
var _activeAtboardName = doc.artboards[app.activeDocument.artboards.getActiveArtboardIndex()].name
doc.selectObjectsOnActiveArtboard();
app.executeMenuCommand('group');
var _symbol = doc.symbols.add(app.selection[0]);
_symbol.name = _activeAtboardName;
app.executeMenuCommand('ungroup');
app.selection, is an array, but symbols.add expect a single pageItem not an array, tehrefore, group all items before making symbol and after that ungroup it.
Copy link to clipboard
Copied
@Charu Rajput ,
Your code example creates a symbol but does not replace the selection with the symbol. How do I convert the selection to a symbol?
Copy link to clipboard
Copied
I don't know direct way to convert but below is the workaround, where I am placing newly created symbol at the same position where selection exist.
var doc = app.activeDocument;
var _activeAtboardName = doc.artboards[app.activeDocument.artboards.getActiveArtboardIndex()].name;
doc.selectObjectsOnActiveArtboard();
app.executeMenuCommand('group');
var _selectedItem = app.selection[0];
var _symbol = doc.symbols.add(_selectedItem);
doc.symbolItems.add(_symbol).position = _selectedItem.position;
_selectedItem.remove();
Copy link to clipboard
Copied
Found another post. I have not tried myself what exactly script is doing but thought it could be useful.
Copy link to clipboard
Copied
Thanks for the link. I'll review it.
I've since realized I can turn on AI General pref: "Use Preview Bounds" to make boundin box expand to the outside of a stroked path. That was my reason for considering a "Symbol".