5 Replies Latest reply on Sep 28, 2017 5:20 AM by williamadowling

How to snap/round gradient rotation and stops?

Sometiems I need to massively shake up gradient fiils — make angles rounded and position stops at multiples of, for example, five.

I'm trying to conjure up a script for this, and immidiately stopped at this part:

```var NewFill = Math.round(OldFill.rotate / 5) * 5;
OldFill.rotate(NewFill, 0, 0, 1, 0);
```

What is wrong with it?

• 1. Re: How to snap/round gradient rotation and stops?

I'm a *******, I'm trying to divide a function.

Well, then, how to READ current angle of gradient fill with JS? I know well how to set it, but I need to know it first to change it.

• 2. Re: How to snap/round gradient rotation and stops?

Figured that out. RTFM.

```thisDocument = app.activeDocument;
docSelection = thisDocument.selection;
selectionLen = docSelection.length;

for (i = 0; i < selectionLen; i++) {
oldFill = docSelection[i];
if (oldFill.typename == "PathItem" || oldFill.typename == "CompoundPathItem") {
checkPath = oldFill;
if (oldFill.typename == "CompoundPathItem") {
checkPath = oldFill.pathItems[0];
}
if (checkPath.filled == true && checkPath.fillColor.typename == "GradientColor") {

//make rotation multiple of 5
var angleVal = prompt("Make angle of gradients to be multiple of:","5","Gradient Angle")
var oldAngle = checkPath.fillColor.angle;
var newAngle = (Math.round(oldAngle / angleVal)) * angleVal;
var angleDiff = newAngle - oldAngle;
oldFill.rotate(angleDiff, 0, 0, 1, 0);

//make stops position at multiple of 5
for (k = 0; k < numOfStops; k++) {
var newRamp = (Math.round(oldRamp / stopVal)) * stopVal;
}
}
}
}
}

```
• 3. Re: How to snap/round gradient rotation and stops?

Glad we were able to help.

• 4. Re: How to snap/round gradient rotation and stops?

You know how this works sometimes

• 5. Re: How to snap/round gradient rotation and stops?

I certainly do. many times trying to explain an issue to someone who's never seen the project is enough to pull yourself out of whatever funk you're in and allow you to see a new perspective.