I want to extend/shorten each bezier handle for a point independently, while keeping them along a line with the point itself. I cannot find a way to do this. Cmd+drag moves both bezier handles in or out, Cmd+Option+drag “breaks” the linear relationship, resulting in a sharp angle at the point. Is there any way to do what I want?
If you hold Option and drag it moves just one handle.
Yes, but that moves the handle freely, breaking the tangent and making the curve I am editing turn into a sharp corner. I want to just lengthen or shorten the handle along the line it already has toward the base point and opposing handle.
I see what I forgot! Sorry. Use the Point Editor tool and hold Option. That should do what you want.
That’s what you recommended before. It does not work; the handle moves freely in X and Y, breaking the tangent formed with the opposite handle and making the base point into a sharp corner rather than a smooth curve. I want the handle I’m dragging to move along the line it already forms with the base point, without making the other handle lengthen/shorten proportionally, which is what it does right now.
I would settle for having the two handles move to keep the tangent, so long as the opposite handle’s length doesn’t change proportionally to the one I’m dragging (I can adjust the orientation of the tangent line after), but I don’t see a way to get that either.
I think we might have a miscommunication. Using OmniGraffle 7.10.2 Pro, when I Option click using the tool shown here, it doesn’t change the other curve.
If you are using a different version, please let me know. If I’ve misunderstood what you are trying to accomplish, a picture or screen capture might help.
(My email wouldn’t scroll to down to the link, so I thought I had to reply by email. I am duplicating my response here just in case. I am using OmniGraffle Pro 7.10.2 (v195.13 r328142))
I do want the other handle to move—but I only want it to “swing around” the base point without changing distance, so that the curve remains continuous. You can see in your video that the curve becomes a corner because the straight line between the handles has been broken/bent.
If you drag the handle without the option key, you will see the other handle “swing around” the base point, but it also moves toward and away from the base point in proportion to how the handle you are dragging moves toward and away from the base point, so that both sides of the curve change. That is what I do not want—I want the other handle to swing around, but not change in distance from the base point, so that I can adjust the curvature on one side of the base point independent from the other. I can find no way to do this, and it’s making it very hard for me to get the shape I want.
I made a video illustrating what I want, but the forum software won’t let me upload it.
Hmm. What’s the file extension of the video you’re trying to upload? (The forums are currently configured to allow both
.mov, but if there’s another type that would be appropriate I can look into adding it as well!)
Meanwhile, though, to get back to the actual question:
Sorry, I don’t believe OmniGraffle currently has any UI which would let you change the length of one Bézier handle while maintaining its rotation relative to the other handle. I agree that that would be a useful addition. Even some snapping guides for matching rotation or length would be helpful! (Although there’d need to be some way to break out of them when desired, perhaps using the Command key as a modifier.)
You can use Shift to constrain it a bit (like snapping guides). I don’t believe I’ve seen a matching rotation feature before. I’d be interested to see it in action if another application offers it.
Oh the message I got was that I was too new to upload a video. It is a .mov file created with QuickTime Player.
Thanks for considering this feature! I’ll muddle along by manually futzing the points in the meantime. :-)
I have vague memories of Adobe Illustrator working the way I describe for its bezier curves, but man, that was back in the mid-90s and I haven’t used it in years.