Illustrator Scripting :: How To Select 2 Paths With Action
Jul 17, 2013
I need to create an action. A simple one. The idea: One path is selected, a user runs the action, it makes a copy of that path, moves the copy, select both the path and its copy and makes a blend.
I tried to record that action, but Illustrator does not record the paths selection/selecting.
Even a simplier task: How, in general, having one path selected, select an item/path above or below it? And how to select them both?
I can make a script for that, but the requirement is to keep it as simple as possible: have an Action only without any scripts, if possible.
I want to open a doc, run a script that selects all paths of a color, say 255,0,0 or 50,0,20,4 and changes that color to black or another color I specify and also changes the stroke. Is this possible? I can't see how i would do it?
I'm a novice here so here's my script. It works really well like it sits. It basically takes two objects in a large group and aligns them. I want to make each two objects combined into a single compound path. I have tried multiple things and they all just kick out errors and what not. I can't seem to get my head around the vocabulary for the scripting but the darkness is starting to fade the more I do.
#target Illustrator var idoc = app.activeDocument; var pi =idoc.compoundPathItems; var numn = prompt ("How Many Names?", "Enter Number of Names"); var dd = prompt ("How far below name is the number?", "Enter Drop Distance"); var nH = prompt ("How tall are the names?", "Enter Name Height in Inches"); dd = parseFloat (dd); numn = parseInt (numn); nH = parseFloat (nH); [code]...
Would Like to combine the aligned items into a single compound item.
I have hundreds of shapes filled with a pattern of lines. I am trying to figure out a way to clip the lines without ending up with the lines that have been converted to (outlines) closed shapes. It seems like a simple proceedure but Illustrator keeps converting them to closed shapes whenever I try any type of clipping or cropping technique.
I have attached a screen shot showing an example of the shape with tthe line.
I have created this script for selecting open paths in illustrator cs6 as the graffix plugin is not working under CS6.
Just save the following text in /Applications/Adobe Illustrator CS6/Presets/en_US/Scripts/Select Open Paths.js
if (documents.length > 0 && activeDocument.pathItems.length > 0){ var allPaths = activeDocument.pathItems; var allPathsCount = allPaths.length; var openPathsAreLocked = false;
I use my script to embeding a placed graphic (MyImage.embed();). Then I always get a group with the correct paths and two clipping paths in a grouped grouped groupItem.
My question is: I want to delete the two clipping paths to get only the correct paths of the graphic.
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.
I frequently record Illustrator Actions. My actions are quite long, but they all involve three common steps:
-Assigning Notes to shapes -Assigning Swatches to shapes -Selecting shapes that have a specific notes
I often need to re-record my actions to repeat all the steps, but to change the notes/swatches that are selected/assigned during the action.
Illustrator has a re-record command. This command is great for changing the value of the note in number 3 of my list. However, it does not work for items 1 & 2 in my list. For these items I have to delete the old step in the action and then record a new step with the new swatch/note.
I know macros in Microsoft Office have an editor which allow you to change values in actions. Is there anything similar for Illustrator actions?You can save an Illustrator action and open it in Text Edit. However, all the attribute/swatch values are saved as weird strings, so I don't know how to change them.
I've seen on this forum a lot people saying that in CS6 you can now call an action from JavaScript. However, I haven't been able to find what the syntax is to do that in the reference or the guide. Can you actually do this now with Javascript?
I created an action to change the width of an image. I execute the action using DoScript javascript method.
The first action Obj1 will select the whole image and second action Obj2 will open the transform panel and change the width of the image.
app.Open("D:LWW_Castoff45991_09_03.eps") app.DoScript("Obj1", "LWW") While (app.ActionIsRunning) Thread.Sleep(500)
[Code]...
In the above code, the second action 'Obj2' is not getting executed. Both the actions are getting executed individually. Let me know the problem and how to execute both the actions.
I need to do a form of automation, but wanting to execute this from another process (self-made application). Adobe Photoshop has this mechanism called "Droplets" that are executable based upon Actions defined in Photoshop (as far as I can understand). Is it possible to let AI do some work for you from an external application as with Photoshop (assuming you are able to execute the executable once it has been created)?
I would like to automate an action set that selects a raster image (linked file) that has been grouped with vector art and then converts that selected raster image into a vector (live trace)
I'm using cs5 on a mac. As far as format goes I have hundreds of eps files that all have at least one raster bitmap tif which was imported as a linked file and then grouped with vector art. So I will like to run a batch script command that will select only that bitmap raster image (because I want to maintain the present vector art in the file) and convert that bitmap tif to vector- and save the file which will hopfully be in vector format.
Is it possible to trigger actions from the actions panel using javascript? I see that you can do this with AppleScript but I've written everyting so far in javascript and don't know AppleScript, though could learn it if I need to.
I'm writing a script that creates a lot of complex graphic files and have all the prototypes done except for wanting to change the color of a few of the points in a mesh object. Apparently this can't be done in javascript, so I was hoping to mid point in the script, trigger an action from the panel to edit the mesh, then let the script carry on its way.
I created an Action to batch export a folder of .ai files to create 300dpi .png's of the .ai file's artboard. I did this by simply recording "Export...as png" with my desired settings then Batch running the Action on desired folder of .ai files. The files were successfully exported, the trouble is that the exported files lack a .png file extension. My intent is to take these PNG files and merge them into a single PDF using Acrobat Pro. Unfortunatly, without the .PNG extension, Acrobat Pro does not recognize the file types and does not let me use the Combine Files feature on them. Going back and manually adding a .png at the end of the exported files defeats the time-saving purpose of Batch Processing all together. Is there something I am missing or doing incorrectly? I have included screenshots of 1) My Batch Action settings 2) folders showing files without .png extension and 3) visual of what I see when I am trying to combine PNGs into a PDF.
I want to select the objects outside artboard using javascript. Their are many objects outside activeartboard i want to select all those object using script.
I am trying to find out if there is a way to select only the objects within a selection marquee? In AutoCAD you can make a selection window from left to right and only those objects entirely within the window are selected. If you window from right to left all objects that are "crossed" or touched by the window are selected. Is there a similar technique in Illustrator?
Currently I have to select the objects, then go back and hold the shift key to deselect the object I don't want, or put objects on different layers then lock layers to prevent extra objects getting selected.
In AutoCAD, my primary program, you simply draw a selection window, left or right, depending on what your next step would be. No special tools or toggles or thinking ahead, it's just the primary selection process and very intuitive.
I have a script that will select text Frames, but I have come into a situation where I need to exclude any text frames that do not have a fill color. I do not see a filled Boolean property for character attributes or text Frames.
This is what I used to select all text on all visible and unlocked layers. I dont see a way to exclude textframes that have no fillcolor.
if (app.documents.length > 0 ) { var doc = app.activeDocument; var numTextFrames = 0; for ( i = 0; i < doc.textFrames.length; i++ ) { try { textArtRange = doc.textFrames[i]; textArtRange.selected = true; } catch (e) {} } }
I'd like to select an object and have a script select all objects behind that object, within that objects bounds. I believe this is possible with z-order? But I've never worked with Z-orders before
Is there a way to simply select all object directly below an objects?
I found this script here but it doesn't seem to work.
//DESCRIPTION:Select Below // A Jongware Script if (app.documents.length && app.selection.length) { ypos = app.selection[0].visibleBounds[3];
[Code] .....
Here's an example file. I'm trying to select eveything below the yellow polygon.
This would be very useful in another project with many small objects bunch together below many larger objects. I want to group the small objects that are bellow the larger object together without having to manually select each objects (there are thousands of objects so a script would be ideal).
I have script where I select items on multiple artboard but I can't seem to get get active art board of the selected item. Is this possible?
each artboard has a text item and I would like them in the same position on each of their own artboards that they are already one. right now it adjusts them all to one artboard. here is what I have so far
doc = app.activeDocument; for(i = 0; i < selection.length; i++){ var firstItemPosition = doc.selection[0].position; doc.selection[i].position = firstItemPosition; var activeArtboardIndex = doc.artboards.getActiveArtboardIndex(); alert(activeArtboardIndex); }