Illustrator Scripting :: How To Make Arbitrarily-shaped Selection Of Objects
Jun 29, 2013
I have a grid of objects—say, tiny squares. I'd like to make arbitrarily-shaped selections of those objects—for instance, select a star-shaped group of the squares. Or a circle-shaped group of the squares. Or use text paths to select letter-shaped groups of the squares.
I could imagine a utility that lets me choose an arbitrary shape/path, and then turn that into a selection of objects on the canvas. Is this possible?
Right now I'm stuck using the lasso tool to hand-draw shape selections but it's not accurate enough for what I need to do.
View 1 Replies
ADVERTISEMENT
Jun 29, 2013
I have a grid of objects—say, tiny squares. I'd like to make arbitrarily-shaped selections of those objects—for instance, select a star-shaped group of the squares. Or a circle-shaped group of the squares. Or use text paths to select letter-shaped groups of the squares.
I could imagine a utility that lets me choose an arbitrary shape/path, and then turn that into a selection of objects on the canvas. Is this possible?
Right now I'm stuck using the lasso tool to hand-draw shape selections but it's not accurate enough for what I need to do.
View 14 Replies
View Related
Sep 17, 2012
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.
View 4 Replies
View Related
Sep 13, 2012
I found this script that makes the selected objects the same width AND height. I am very new to creating scripts. is it possible to modify this to make an object the same width leaving their heights the same?
mySelection = activeDocument.selection;
if (mySelection.length>0){
if (mySelection instanceof Array) {
goal=mySelection[mySelection.length-1];
for (i=0; i<(mySelection.length-1); i++){
[Code] ......
View 2 Replies
View Related
Sep 6, 2012
I'm new to illustrator scripting (but not to javascript or programming. I have an AI file that has multiple layers. each layer has several items that are supposed to be of same color. I have an array of HEX values.
I would like to loop over all items in a single layer, select them and change their color to some given HEX. Once that works, I will run on all HEX entries in array and save each variation in a separate PNG file.
For the first part i wrote some script (see below), but i do not see any change in the file after i run the script. No errors and no change. I run the script once i select all items in a specific layer.
My code:
function hexToRgb(hex) {
var result = /^#?([a-fd]{2})([a-fd]{2})([a-fd]{2})$/i.exec(hex);
return result ? {
r: parseInt(result[1], 16),
g: parseInt(result[2], 16),
b: parseInt(result[3], 16)
[Code] ......
View 3 Replies
View Related
May 7, 2013
I wish to resize a selection around a custom 2D point. I have had a look at the resize function:
#target illustrator
sel = app.activeDocument.selection[0];
var scale = 200;
var scaleAbout = Transformation.TOPLEFT;
[Code] .....
Which works allright but I assume that I need to use the constants defined in the Transformation class? I cannot just input a 2D point to scale around? Would be handy. I have a feeling that I need to use a transformation matrix to do this.
View 4 Replies
View Related
Feb 20, 2013
Is there a way to determine which object in a selection is the key object? For example: draw 10 squares on a layer, select all of them, click on one of the 10 and it becomes the Key Object (heavy border) for things like Distribute Spacing on the Align pallete. I can determine that a particular object is selected via ActiveDocument.Selection.PathItem[n].Selected = true/false. But I can't figure out how to find out if this is the KeyObject. The ultimate goal is to modify the below script so that it uses the KeyObject as the reference and not the object on the bottom-most layer.
Here is the Script - from [URL]
mySelection = activeDocument.selection;
if (mySelection.length>0){
if (mySelection instanceof Array) {
[Code]....
View 3 Replies
View Related
Aug 21, 2012
Recently I met a little problem about save selection. I want to get saved selection list so that I can used in javascript. Some useful information about how to get Saved Selection list in javascript!
View 2 Replies
View Related
Aug 25, 2013
I am trying to create a script to specify a percentage of the selected items you want to remove.Here is what I have so far.
I still need to work out on the alert prompt and the if statement, but for now, I have the feeling that the selection.length keep changing each time Illustrator delete an object, and I don't know how to make it stick.
var selection = app.activeDocument.selection;
//alert prompt dialog for a percentage of deletion
for (var i = 0; i < selection.length; i++) {
if (Math.random < 0.5) { //need to work out the percentage
alert("yes")
selection[i].remove();
}
}
View 7 Replies
View Related
Feb 17, 2014
how do I center my current selection to the artboard? just like hitting the "horizontal align-center" and "vertical align-center" buttons. I've been searching for the last two hours and before my head hits the keyboard.
What I'm struggling with: in my init function i create a new document and then copy all layers from the previous document step by step to the new document and then save it as SVG.
// Init
(function(){
destination = Folder.selectDialog('Select folder for SVG files.', docPath);
if (!destination){return;}
holderDoc = app.documents.add();
stepThroughAndExportLayers(docRef.layers);
}());
my problem is that holderDoc = app.documents.add(); always creates a document that is not the same size as my initial document where the layers get copied from.
so I want the exact same artboard size as in my initial document.I'm fine with either doing it as fixed values or taking directly the values of the inital doc. i tried this in the segment where I create the new document:
// Init
(function(){
destination = Folder.selectDialog('Select folder for SVG files.', docPath);
if (!destination){return;}
holderDoc = app.documents.add();
holderDoc.artboards[0].artboardRect = [0,0,128,128];
stepThroughAndExportLayers(docRef.layers);
}());
and get this error message: "Error 1200: an Illustrator error occured: 1346458189 ('PARM')
Line: 83
-> holderDoc.artboards[0].artboardRect = [0,0,128,128];"
which from what I've read on the web means that illustrator doesnt know what document to pick. but i have called it directly. I do not want to fit the artboard to the images/layer. the artboard should always have a certain size. (for me 128px by 128px)
// edit: workaround
(function(){
destination = Folder.selectDialog('Select folder for SVG files.', docPath);
if (!destination){return;}
var activeArtboard = app.activeDocument.artboards[app.activeDocument.artboards.getActiveAr tboardIndex()];
var ABRect = activeArtboard.artboardRect;
holderDoc = app.documents.add();
holderDoc.artboards.add(ABRect);
holderDoc.artboards.remove(0);
holderDoc.artboards.setActiveArtboardIndex(0);
//stepThroughAndExportLayers(docRef.layers);
}());
i now added a new artboard to the new document with the same size as the artboard on the initial document.i remove the predefined artboard on the new doc and set the new artboard as active the artboard is now not centered into the window. which lets illustrator place my image with ctrl+c -> ctrl+v somewhere outside the artboard.
i now need to align my selection to the center of the artboard. but i cant find any reference on how to center a selection to the artboard.
View 7 Replies
View Related
Oct 12, 2012
When I copy/drap an artboard, most of the time a random shape(s) will move around a arbitrarily. Why?
View 2 Replies
View Related
Jul 18, 2013
how to get the counting of RGB objects, CMYK Objects and Grayscale Objects information for illustrator vector(editable) file via script for windows.
In illustrator raster image file i need to know how to get the Embedded image information(CMYK or RGB or Grayscale) via script for windows. I collect these infomation manually from "Windows->Document info". I saved the "Document Info" details in illustrator manually using "Document Info Pannel".
View 2 Replies
View Related
May 17, 2013
I have a piece of art on "Layer 1" that i need to shrink and duplicate to "Layer 2". The two layers are always named the same. I'm working in CS5.
View 6 Replies
View Related
May 27, 2013
When i call the method selectObjectsOnActiveArtboard on an artboard, is there a way to easily group all items in the selection? Like in the menu found under "right click > group"
View 4 Replies
View Related
May 19, 2013
I'll start off by saying I'm new to scripting. I've tinkered with a script I found for measuring the length and width of a selected object and placing those values in a specs portion of the file. It works great, I'm very excited about how much better my life could be if I conquered scripting, and now I'm struggiling to get another one working but I'm a little stuck.
What I need to do now is measure and print the distance from the right edge of a selected object to the left edge of another object named "repeat" in a designated "specs" area of the page. The idea is to show the distance between a print impression and when it will print again (repeat), because it is printed using a print cylinder that rotates to print over and over on a continuous film.
I'm a little fuzzy on how I call the value of the left side x value of an object, but basically what I want is to use that value and then subtract from it the width of the selected object. The difference is the distance between impressions.
View 4 Replies
View Related
Nov 8, 2012
Is there any way to script the deselection of for example 9 out of 10 selected lines, sorted from left to right?
So if I have 100 lines selected, the result will be only 10 selected lines evenly spread out.
I'm using CS 5.5.
View 16 Replies
View Related
Jul 26, 2012
How does one remedy this Adobe error message? "Can't scale the objects. The requested transformation would make some objects too small to use." This one always gets me. I'll spend more time trying to find the object in question. This has happened in almost al versions, but this time it's CS5.
View 3 Replies
View Related
Aug 10, 2013
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.
View 1 Replies
View Related
Jun 18, 2012
so I came up with this script, and it worked fine until I tried it on a different file. I have moved the artboard around all over the "main" canvas (if that is what it is called) and on the one that it works on, seems to only work when artboard(top, left) is positive values. however on the new file it doesn't seem to matter where it is on the artboard, it wont work anywhere. it should find the textpath relative to the shapes position.
I thought it was the coordinateSystem, but that doesn't seem to fix it. How the canvas works (maybe the math.abs();
threw it up on gist because it was pretty big: [URL]
View 3 Replies
View Related
Apr 9, 2013
I am trying to iterate through objects in a layer and if the object satisfy a condition, I want to remove it.
Problem is that from what I suspect, if I use a "for loop" then when I remove an element, the initial length of the loop becomes invalid by removing the element. So what I would need is to iterate through objects in another matter and I am clueless.
View 3 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 17, 2012
How to select objects by their group names?
I'm working with imported graphics, and the objects appear in the AI layer hierarchy grouped and named according to their object types in the native program (see the attached image). The problem lies with the annotation objects: they are made of different parts for which different graphic styles are needed; however, they all come in one layer and are difficult to access for global operations. I need to do different things with the different object types (delete the POINT's, move the LINE's and LWPOLYLINE's to different layers, etc...). The option of selecting objects individually is ok for small data sets, but you can imagine this becomes untenable in a hurry.
Two possible solutions I've considered:
(1) change the output parameters in the source program such that the objects come into illustrator with different graphics allowing them to be accessed through the "Select same ..." tools; it would work, but is problematic for the source program
(2) print the annotation graphics with their desired graphic appearance to pdf rather than importing the source file directly in AI, then open in AI to render the remaining graphics; again, this works but introduces inefficiency in the process. Also, the print process tends to explode closed paths requiring more inefficient path tinkering in AI.
I would like to tell AI to select all objects named "POINT" or "LINE" etc... but have found nothing in the documentation or forums on whether this is possible.
View 1 Replies
View Related
Sep 21, 2012
How to write a script which can duplicate objects and apply colours. I have a full break down of the project together with a Illustrator Action that demonstrates the functionality of the required script.
View 3 Replies
View Related
Feb 23, 2012
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
View 5 Replies
View Related
Feb 21, 2014
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).
View 1 Replies
View Related
Aug 7, 2013
i want to select all the objects in active artboard using javascript
View 5 Replies
View Related
Nov 5, 2012
I have multiple icons placed in a document, from several different sources (all are vector objects) -- see the included image. They vary in size and what I would like to do is find a less onerous method of resizing all the heights to a specific size, while scaling the width proportionately. I have found several scripts that come close to a solution (see links below), but none that allow me to input a height (or width) in inches and have all the objects resize to that height proportionately.
Change Width to the Width of the narrowest object --> Script01
Change Height to the Height of the shortest object --> Script02
Change Multiple Attributes (JohnWundes) --> Script03
icon image (couldn't place via Adobe Forum) --> click
View 2 Replies
View Related
Sep 20, 2012
how can I copy and paste position and size of two objects?
Let's say I have a circle 2 x 2 cm and it's position is y 5cm x 5cm, I have a square of size 3 x 7 cm and it's position is y 0cm x 0cm.
How do I copy and paste in a single command/step the circles position and size to square, so I can get square of 2 x 2 cm and it's position 5cm x 5cm?
Something like copy + paste in place with a different logics. I hope You understand what I want.
I'm doing it now manually, I'm copying size and position of one object to another [ctrl + c > ctrl + v] but it takes quiet a while,
View 2 Replies
View Related
Oct 14, 2013
If i want select objects that same fill color in document, I can use 'select - same - Fill color' function in Illustrator.
It's so fast. below 1 second.
But, If i want make it in Javascript, I can't do it like fast.
for(i=0; i<activeDocument.pathItems.length; i++){...}
If document have 10,000 objects, above script can't finish in even 60 seconds.
How Illustrator can traversal fast?
Is there something other way?
View 2 Replies
View Related
Aug 23, 2012
I'm extremely new to scripting; I managed to create a script to extend the artboard of my documents (which I was extremely proud of given my inexperience!) and another to align a couple of objects alongside each other, but my attempts to script some new code has met with failure.
Firstly, I need some Illustrator CS4 Javascript code that will create a bounding rectangle for the selected object(s). The selected object(s) will always be rectangular; no irregularly-shaped objects. I know this should be simple, but I can't work out the variables/attributes involved.
Secondly, some code to select the leftmost object in a document. And the equivalent for the rightmost object.
If it makes any difference, I'll be stitching these scripts together with an action to achieve the following workflow.
Two EPS files are dragged into an empty document as 'Linked Files'.The two Linked Files are aligned alongside each other. (Using a script I've already written.)The leftmost Linked File is selected and has a bounding rectangle created, which is then used to mask the Linked Object.The rightmost Linked File is then selected and has a bounding rectangle created, which is then used to mask the Linked Object.Both masked Linked Files are selected, and a bounding rectangle is created to mask them into the same Clipping Mask group.The artboard is set to the dimensions of this combined masked pair (I've managed to write that script already).The Linked Files are embedded into the document.
The reason for this is because we have EPS map files exported from AutoCAD that are left- and right-hand pages. These need to be combined into one file, but when they are brought in they lose their masks as the BBOX element is not recognised by Illustrator. The double-masking in my process above is needed to ensure that content from either map doesn't overlap the other half of the map.
View 9 Replies
View Related
Jul 23, 2013
How can I select all objects in a layer and copy and paste the objects into a new document? We are having issues with the copy and paste method. Is this because it uses the operating systems clipboard?
View 10 Replies
View Related