Illustrator Scripting :: Turn Selected Sublayers Into Top Level Layers
Jun 5, 2008
I wanted to ask if by chance any of the scripting gurus here happen to have written an AI script that will take a number of selected sublayers/sub-sublayers and move them so they become top-level layers?
I am really needing this very badly, given that After Effects can only handle AI layers as separate entities. So I find myself moving tens, even hundreds of nested sublayers to the top level all the time.
Is it possible this script exists already?
View 16 Replies
ADVERTISEMENT
Apr 26, 2012
is there a way that I can loop through all layers and sublayers looking for a name of a layer? I have one that loops through only top level layers. I am thinking I have to somehow incorperate all pathItems, groupItems and the like to incorperate all types of "layers" there might be, since a group is technically not a layer but a groupItem.
this is what I am doing so far:
for (var i = 0; i < numberOfLayers; i++) {
var customName = "div structure";
var myLayer = app.activeDocument.layers[i];
[Code]....
View 6 Replies
View Related
Apr 28, 2012
I've written a snippet that will unlock sub of sub layers up to 10 layers deep. It works fine; however I'm wondering if there is a better way to do this? I don't know that 10 is the maximum of sub layers I'll need to unlock but it's a fairly safe guess. I'd like to be more efficient and know that no matter what the layer structure of the file my script has unlocked any and all sublayers.
Is there a different approach or way to think about this problem where you can script for a potentially endless number of sublayers, and subs of subs, etc.?
var doc = app.activeDocument;
var layerCount = doc.layers.length;
for (i=0; i<layerCount; i++) {
var currentLayerI = doc.layers[i];
var layerCountII = currentLayerI.layers.length;
for (ii=0; ii<layerCountII; ii++) {
[Code] .....
View 4 Replies
View Related
Jan 22, 2014
I am using this script to find and replace words in layers. (The script only targets particualr words, rather than the whole layer name).
I would like to make it so it targets selected layers only.
I have found this script which loops through selected layers only, but I am not sure how to add the find and replace layer name functioality.
View 7 Replies
View Related
May 7, 2012
I just installed cs6, and when I open files in Illustrator, it opens all of the layers which contain sublayers. It does this even if all the top-level layers were closed during the previous save. The files I work with have a large layer-structure, so re-closing the top-level layers every time I open a file wastes a lot of my time. Can I close all layers at once, or better yet, can I stop Illustrator from opening all of the layers automatically when I load a file?
If not, then WHY on earth not? I can't be the only one who opens and closes large files with lots of layers and sub-layers...
Edit: I also am noticing this problem is even worse in cs6, because openning and closing individual layers plays a little animation of rotating the triangular arrow before the layer which, cute as it may be, just makes the task of individually closing up all my layers that much more tedious. Can I turn off that little animation of the triangular arrow when opening and closing layers?
View 8 Replies
View Related
Feb 17, 2013
I have 3 similar but different documents. I made the edits to one of those and now I need to bring that over to the other 2 files. I know I can copy and paste the areas I need to the other 2 files but when you do that, everything merges into a single layer. How do I do this and keep those items in their own sublayers as well?
View 5 Replies
View Related
Oct 5, 2012
Why in the heck do Macs show layers in a PDF that are HIDDEN at the time of saving if "Create Acrobat Layers from Top-Level Layers" is checked is checked -BUT- PC's don't??
I just proofed a business card with my boss accidentily showing him some type on a layer that was hidden. He approved it. Now I have to make a bunch of type set up in very tight margins work in production.
View 1 Replies
View Related
May 3, 2012
Code snippet to show me how to iterate through the selected text (not the frame!, not the words, only the selected chars) and make any change on the characterAttributes (size, color, etc.)?
In the property "app.activeDocument.selection" usually the selected objects are stored as an array. Now when I select characters in a textframe (or TextPath, whatever) there is a [Textrange] in it. I already tried some combinations like this snippet underneath but I still get errors, that selectedChars[i] is undefined.I'm on Illustrator CS4, Mac OS X, Javascript
var selectedChars = app.activeDocument.selection.characters;
for (i = 0; i < selectedChars.length; i++ ){
selectedChars[i].characterAttributes.fillColor = myNewCMYKColor;
View 14 Replies
View Related
Oct 4, 2012
is there a way to get position of any selected object? It seems like normally you have to dive into specific item like textFrames to get position, but was curious if there was a generic way of doing this for selected objects.
View 5 Replies
View Related
Sep 6, 2012
I'd like to draw a box around some selected text (a textRange), however I can't figure out how to detemine the size or position of the text. The overall size of a textFrame is possible to find (not sure about position), but when you've got just a few characters selected I don't see any way to get the size or position.
View 6 Replies
View Related
Nov 15, 2013
Simple solution to aligning selected items to the artboard. I was going to create an action but then realized it would be more convenient for me to include it in my script file....I have a script to align objects with each other but they dont align to the artboard.
View 11 Replies
View Related
Feb 4, 2014
It is possible to apply the Convert to Grayscale(Edit->Edit Colors->Convert to Grayscale) for the selected items in illustrator cs3 in script (javascript)?
View 12 Replies
View Related
May 30, 2013
When I run the script for an object selection, I want each object to have its color set to the underlying color as if I had used the eyedropper tool. Is this something that can be scripted?
View 1 Replies
View Related
Apr 23, 2013
How can I get width that multiple selected items? (Not grouped.)
//---------- source code ----------
var mm = 2.83464566929134 //unit conversion. (point->milimeter)
var W = docRef.selection[0].width/mm;
alert(W);
//---------- source code ----------
View 3 Replies
View Related
Jan 4, 2013
I am realtively good with actionscript, so I am trying my hand at this to streamline our image exporting process. I am using CS5 on a PC.
We build our illustrator files to be a combination of different layers. Sometimes just one layer is exported at a time, and sometimes layers are combined to form a more complex image. We use layer names with instructions of what layers should be on and off.
An example of the layer naming might look like this:
03 (01-ON, 02-OFF)
02 (01-OFF)
01
I have been able to figure out how to check if there is a note to turn a layer on, my question is how do I select the layer to turn on the visibility without using the exact name of the layer?
In my example, when layer 3 gets exported, it should have layer "01" visible and layer "02 (01-OFF)" not visible. Since our files are always constructed differently (meaning 02 might not always have a note about 01 being off), I can't use the getByName option because I don't have an exact name to call the layer and turn the visibility on. The layers always start with 01, 02, 03, etc. Is there a way to use getByName and only have it look at the first 2 characters of the layer name?
View 8 Replies
View Related
Feb 1, 2013
Is there a method to return an array of paths in the order they were selected, instead of their descending z-index (default behaviour)?
I'm writing a script that "connects" the centers of currently selected objects through a stroked path, and I want it to follow the order in which I select the objects, regardless of the stacking order.
View 13 Replies
View Related
Feb 25, 2013
I want to change my selected text to a different cmyk color using javascript. I have tried and I do not know what is missing or what I am doing wrong.
if ( app.documents.length > 0 ) {
newCMYKColor = new CMYKColor();
newCMYKColor.black = 0;
[Code]...
View 4 Replies
View Related
Mar 1, 2013
I'm trying to do some workflow enhancements. For our games we need to export to PNG at different resolutions for different mobile devices. I use a artboard per asset and currently manually export 3 times (using file/export/png with use artboards option), at 72 dpi, 144 dpi and 33.75 dpi.
I've been modifying a simple Javascript I downlaoded and have got it save to different fixed locations at different scales. All good. However exporting every artboard each time will cause issues with our version control system and take too long. It's not really a solution.
So I need a way to either only export the current selected artboards (which I believe can't be done) or somewho show the artboard range dialog that the system uses. Either of those would be a good solution.
var docRef = app.activeDocument;
var num_artboards = docRef.artboards.length;
var getName = app.activeDocument.name;
var fileName = getName.slice(0, -3);
[code]...
View 7 Replies
View Related
Apr 18, 2013
I've written a script to allow you to select an image to replace any number of selected files. Each file starts out as an embeded image with a .note to determine where the basis of alignment for the new file should be (i.e. "top," "bottom," "left," "right"). You'll find the code below:
#target illustrator
if (app.documents.length > 0) {
var docRef=app.activeDocument;
var docSelection = docRef.selection;
// ** Get new file
[Code]...
For some reason, the ".note" added at the end of the script gets erased once the script is complete. I can even get it to confirm that it applied the note to the image, but once it's complete, it's gone.
View 6 Replies
View Related
Feb 20, 2013
Is there a way to send a selected textFrame item to a layer using javascript?
I don't mind if it is send to current layer or some other way to accomplish the task.
(Using Adobe Illustrator CS4)
View 5 Replies
View Related
Apr 2, 2013
I'm trying to create a script in CS5 mac os10.6.8 that will change the fill color of selected pathItems. I need a simple script that will change a selected pathItem to cmyk values 2,3,15,0. I will then select this script and implement the action in a batch of 600 files.
I wish this process could be recorded as an action but when I record the action "add new swatch" I have to manually input the cmyk values, which will take forever for a batch of over 600 files.
View 15 Replies
View Related
Oct 27, 2013
Problem:
How to read real number data from selected columns in an Excel spreadsheet into an illustrator javascript array variable, so that then I can use this information to construct an illustrator polygon.
Further information:
I am new to javascript (and not much of a programmer in the best case, but do have some basic knowledge using ancient languages like FORTRAN 88). I am sure I am just missing an important step here despite all morning browsing with Google for answers (something to do with variable definition I assume?). I have some survey data defining the outline of features in map view listed in a string of point (x,y) values in adjacent columns in excel (these x,y point values calculated from GPS data using a commercial program to converted 3D position to a 2D x,y by geoid projection, and then in excel to re-scale point locations to illustrator’s artboard). What I am trying to do is select columns of x,y value pairs in an excel spreadsheet, copy these values to the clipboard, and then develop an IA JavaScript to draw a polygon through the specified set of x,y points. It seems easy enough to script illustrator to draw the polygon once I get the values from the clipboard are in a javascript array (lots a good tips here [URL] ....), but pulling in the clipboard data seems to be beyond me. I have tried populating a defined array with various combinations of array declarations and app.paste(); or windows.clipboardData.getData('text/plain'); with no satisfaction. I then had the idea to try to pull in the clipboard to one long continuous string, place that in a text box (see see its structure), andthen read and split up the text in a loop to populate the JavaScript array…but that deposited a complex illustrator table object into my text box, and several attempts to force the clipboard to paste text did not work (again probably having problems understanding variable type declaration).
I would be happy to find any method of scripting the pull of the selected on an excel spreadsheet for use in an Illustrator script…so if I am making this all harder than it needs, be I would be grateful to know that also!
View 4 Replies
View Related
Jul 16, 2013
I can't seem to figure out a simple/direct method to identify the index of the selected item in a list box.
I feel like I'm missing something, but I can't seem to figure which (if any) property returns an index number if you use it with the .onChange callback for a ListBox.
The following code accomplishes what I need but isn't particularly efficient or elegant and can get muddled if you introduce multiple lists to check.
Any way to duplicate this same behavior with better code
var res = "palette {text: 'Example List', properties:{resizeable:true}
pnl: Panel{orientation: 'row',preferredSize: [400,600],
list1: ListBox{preferredSize: [400,550], properties:{multiselect:true,numberOfColumns:2, showHeaders:true,columnTitles: ['List 1', 'Subitem 0']}},
}}"
[Code]...
View 4 Replies
View Related
Dec 19, 2011
How to make the following script for adding serial numbers apply to multiple files in a selected folder?
var docRef = app.activeDocument;
with (docRef) {
var docName = name.substring(0, name.lastIndexOf('.'));
var artRight = visibleBounds[2];
[Code] .....
View 6 Replies
View Related
Apr 7, 2012
Is it possible to reference layers or groups by their names instead of their index using VBA? If so, what is the sytax? I know you can do it in Extendscript, but I'm not finding info for VBA.
View 7 Replies
View Related
Aug 12, 2013
Is there a possibility to count (only) all sublayers in a given layer? CountLayers from LayerSuite is only counting top-level layers and that isn't good enough.
Edit: I am using CS SDK 5.
View 2 Replies
View Related
Nov 15, 2013
Is there a way to make PDFs of layers which are turned on in Illustrator, from Illustrator itself?
If there is, I'm not seeing it.
CS6, latest update
OS X 10.8.5
View 1 Replies
View Related
Feb 13, 2013
I am trying to export layers to SVG, but I need to access the "Use Artboards" option in my ExportType.SVG options. I do not see it in the Javascript reference: [URL]....
View 8 Replies
View Related
May 9, 2013
Is there a script that can create layers with csv file?
View 5 Replies
View Related
Jun 30, 2013
script that is able to do the same as this photoshop one [URL] ...., I would use that one in photoshop but its not working in CS6.
find a script that will seperate the text into layers ready for export to After Effects to be used in Kinetic Typography pieces.
View 3 Replies
View Related
Feb 18, 2013
I'm trying to create a script via javascript for Illustrator.
My problem is : I have a AI file with multiple layers, i want to create one artboard per layer, in order to export a multipage PDF ( each page contain 1 layer ).
The layers represents the differents type of print ( vernish, color, hot gold, pressure ... ) and/or color type ( Pantone, CMYK, cut, kisscut ... ). My client want a PDF for see each type of print or color type per page.
I'm trying 2 ways :
1st solution : Create new artboards, and duplicate ( or move ) layers content on the new artboad, but the function move/duplicate don't work to move content on another artboard.
2nd solution : Create new document with the same number of layers as artboard and duplicate layer to the new artboard on the new document.
View 6 Replies
View Related