: How to set the rotation point and use Transform Each in Illustrator? I have a triangle I'm trying to rotate in Illustrator using the Object->Transform->Transform Each command, but I can't
I have a triangle I'm trying to rotate in Illustrator using the Object->Transform->Transform Each command, but I can't figure out how to set the rotation point like I can if I just use Free Transform.
This is important because the rotation point is at the center of the square bounding box, not at the center of the triangle.
Is there a way to set the rotation point? Or do I have to manipulate the bounding box somehow?
More posts by @Bryan765
14 Comments
Sorted by latest first Latest Oldest Best
I found a way to do this. Adobe really needs to make this easier like the rotation works in Flash aka Animate. I had a few elements I needed to rotate from a center point. They could not be grouped together as I wanted to rotate them interdependently and set a custom center point.
Before you do anything, select the vector shapes you want to rotate copying them into another layer and making them another color so you can easily see them. Lock this layer.
Now in my case I had 2 elements I wanted to rotate. Select each one dragging it into the Symbols panel and name them. Do this for all of your shapes individually.
Double click the symbol on your art-board to edit the symbol definition and you will see it in an onion skin-like view. Position it so the black cross hair is where you want your custom center point to be.
Now exit out of this mode by clicking the back arrow and nudge the artwork so it's in the position your copy is.
Delete the copy layer.
Adobe needs to make it so that you can easily use the rotate tool and permanently change the center point of vector artwork so that when you deselect something it does not reset it to the center.
EASY SOLUTION
Center your triangle on an axis point. Then create a square or circle with a different color stroke that is larger than the triangle but also centered on the same axis. (This will center both shapes where you want them. More importantly it puts the axis point on the center of the triangle.)
Then select both objects.
Then Choose: Object > Transform > Transform Each > Rotate, Scale, Shift, Reflect, or do whatever you want to do.
Click copy to have the effects take place on that axis point.
Then Duplicate as many times as needed by hitting (command D)
Select one object with the different colored stroke.
Then go to: Select > Same > Stroke Color > HIT DELETE.
VOILA!
This rotates your triangle from the center point how you wanted it to move and gets rid of all the other unneeded shapes.
Just thought I'd chime in here for a really simple solution:
So I was needing the reference point to be changed to the top middle, and found that it's really easy to do in the Transform panel. There's a diagram on the left with 9 small boxes arranged in a square. By selecting the top middle point, I can punch in parameters into the Transform panel and it'll make the changes I need. I was using it for an action for centering the top of art on a tshirt mockup and it worked like a charm. Works the same for typing in the amount of rotation you need. And then, when you're done, you can select the middle point again.
Make a circle with it's centre wherever you need your pivot (use snapping if useful) that is larger than the extent of the object or objects you intend to rotate. Send to Back ( shift+ctrl+[ ) so it is behind your objects, just so you can see them easily. then select the object or objects you want to rotate plus your new circle, and rotate away. Delete when you're done or, if you want this new pivot to be permanent, make the fill and outline of the circle null and group it with the object or objects.
You could script this. The center of a triangle is the barycentric coordinate, which is just the vector average. So:
#target illustrator
// CC BY SA Janne Ojala 2014
function rotate_around_vertex_average(obj, ang) {
var points = obj.pathPoints;
var x = 0;
var y = 0;
for(var i=0; i < points.length; i++){
point = points[i];
x += point.anchor[0];
y += point.anchor[1];
}
var x_c = x/points.length;
var y_c = y/points.length;
var rot = getRotationMatrix(15);
var mov = getTranslationMatrix(x_c, y_c);
var inv = invertMatrix(mov);
var mtx = concatenateMatrix(inv, rot);
var mtx = concatenateMatrix(mtx, mov);
obj.transform(mtx, 1, 1, 1, 1, 1, Transformation.DOCUMENTORIGIN);
}
objs = app.selection;
for(var i in objs){
obj = objs[i];
rotate_around_vertex_average(obj, 15);
}
In Illustrator CC 2014:
Select object
Press the R key
Move reference point
( Use the Rotate Tool not the Object>Transform>Rotate or Free Transform )
helpx.adobe.com/illustrator/using/rotating-reflecting-objects.html#rotate_objects
The way I do this is:
Convert first the object to symbol.
Center the object where you want, if you want align the symbol with your reference object, it mean the pivots are coincident now.
Double click in the symbol to enter in edit mode.
Change the position of your symbol where you want.
Exit edit mode and you should have the pivot of your symbol out of the symbol and placed exactly where you need.
Select your object & select rotate tool
Move the pivot to your desired position
ALT + Drag to rotate
CTL + D to duplicate
Note: Dont change the tool. Just rotate.
Check this site out. It will give you a way:
When the graphic is dragged into the Symbols panel, the Symbols
Options dialog box appears. In it, you can type a name for the new
symbol.
An easy way of setting the registration point is to click one of the
positions available on the registration option matrix. The default
registration point is set to the centre of the matrix. In total, there
are nine registration point positions to choose from. After a graphic
is registered as a symbol, the registration point is indicated by a
black crosshair when the symbol is selected.
In order to tweak the registration point position, double-click a
symbol to enter isolation mode. In isolation mode, the registration
point is stationary, meaning that to change the position of it, the
symbol should be moved.
erm.. the bounding box center is the same as the object's center. The two points are always identical. The Bounding Box is drawn form the objects center to its outermost edges.
You can somewhat adjust the rotation point by using the 9 point origin box in the Transform Each options dialog.
But if you are looking for free form placement of the origin point, you won't get that with any automated rotation. You'd need to look at scripting.
I would explore the actions panel - you could create a new action that rotates, then scales, for example. Then apply that action to the object/s you wish to have rotated and scaled.
I realize I'm a bit late to this, but in case anyone else is wondering, there is a workaround that may be helpful. I can create a one-point object (just click with the pen tool, for example) and group it with the object that I want to be able to control the rotation center on. The new group now has a center between the original object and the "one-point" object, so I have plenty of control over where that is. I'm just manipulating the group instead of the object.
Note that instead of making an object that has just one point, you can also create a regular shape and just make it invisible.
There is a way with the Rotate Tool (R)
Select your triangle
Click the Rotate tool
Pressing alt click where you want your center to be.
A dialog should popup prompting for an angle. You can go on an fill it out.
When ready press the "Copy" Button and then Ctrl+D for transform againas many times as you want copies.
Edit:
After understanding that the object should be BOTH rotated and moved- or scaled- each.
What about adding "hidden" (no line no fill) artwork to transform the bounding box so the center is where you want it to? You could then transform each this group any way you like.
If you don't like the hidden artwork you could make your object with the hidden objects a symbol. Then you could transform/rotate/scale it and in the end edit the symbol. This way all instances get updated accordingly. This might, however change the position of each of these instances.
Doesn't look like there is a way to permanently alter an object's rotate point. You can use the Rotate tool or Free Transform to change it temporarily, but it resets to the center of the object once you change to a different tool.
If you just do a simple rotate using the selection tool instead of Rotate or Transform Each, it will use the bounding box. Otherwise you're stuck with the object's calculated center.
Terms of Use Create Support ticket Your support tickets Stock Market News! © vmapp.org2024 All Rights reserved.