Is a script possible for uniform scaling based on clicking points instead of the default dragging?
Hi there! This community has been immensely helpful to me when it comes to scripting needs, and this is one of those questions and use cases that has been bugging me for a while. I'm genuinely curious if it can be done, or if something like this already exists out there.
I find the Scale tool to be incredibly hard to use in its current form when you're looking to scale uniformly. I was wondering if there's a possibility of creating a script that would allow you to:
- Step 1: Select the fixed base anchor point based on which you're going to scale the item from. Let's say, for a rectangle, the top-left corner.
- Step 2: Select the point on the item from which you want to begin scaling. Let's say, for the same rectangle, the bottom-right corner.
- Step 3: Select a point on the artboard towards which the scaling will be done. And here I see two options:
- Option A: You select a specific point on the artboard, and the item scales uniformly towards that point's horizontal/vertical axis (depending on the situation), and then the script snaps the item (using the anchor point chosen on Step 2) into the point from Step 3.
- Option B: No more snapping of the scaled item. It simply scales to the horizontal/vertical axis of the selected point at Step 3, and then you'll have to manually move it yourself to the end position you're looking for. This would also remove the necessity for Step 2, I believe.
Why this particular use-case? Because most often than not, I find myself in the situation of having to scale items uniformly, and the way it currently works includes a lot of intermediary steps and a lot of dragging (which also glitches a lot when using Smart Guides). Doing all this just by selecting the base anchor point, the point you want to scale, and the endpoint where you want to arrive would be so much easier.
Looking forward to hearing your opinions on this. Also, I'm happy to explain things further if anything above doesn't make complete sense.
