Jump to content
You must now use your email address to sign in [click for more info] ×

Feature request- snap anchor handles to grid option


Recommended Posts

  • Staff

What shape is this?  It's not a circle. Is this a specific shape you'd need for a specific purpose??  Yes, you'd achieve this through snapping, but it is not a representation of a recognisable common shape.

 

So, the only argument really is for symmetry - and arguably that is something that could equally be achieved by constraining the handles to the grid direction, then snapping the length of the handle to be equal to it's opposite partner.

 

But, I'll reiterate - I don't know of any examples of useful shapes formed from beziers that you'd be able to achieve by snapping handles to grid intersections.

SerifLabs team - Affinity Developer
  • Software engineer  -  Photographer  -  Guitarist  -  Philosopher
  • iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
  • MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300
  • iPad Pro 10.5", 256GB
Link to comment
Share on other sites

4 minutes ago, Ben said:

What shape is this?  It's not a circle. Yes, you'd achieve this through snapping, but it is not a representation of a recognisable common shape.

 

Obviously we don't need handle snapping to perform basic shapes. I use handle snapping in a lot of situations including typefaces.

Core i5 3570 @ 3.4GHz    |     8GB Hyperx Memory      |      Radeon R9 270X     |    Samsung 120 SSD

Link to comment
Share on other sites

  • Staff

But, do you have a real example where you specifically need to snap the handle to a grid intersection, or whether it is really only the direction that is needed - the magnitude of the handle needing to be set by eye, rather than being snapped to a specific position?

 

Does snapping the handles to grid intersections give you the curve you want every time? Or is it really only a starting point, and the handle length then needs adjusting?

SerifLabs team - Affinity Developer
  • Software engineer  -  Photographer  -  Guitarist  -  Philosopher
  • iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
  • MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300
  • iPad Pro 10.5", 256GB
Link to comment
Share on other sites

14 minutes ago, Ben said:

But, do you have a real example where you specifically need to snap the handle to a grid intersection, or whether it is really only the direction that is needed - the magnitude of the handle needing to be set by eye, rather than being snapped to a specific position?

 

Does snapping the handles to grid intersections give you the curve you want every time? Or is it really only a starting point, and the handle length then needs adjusting?

 

 

Here's two examples of where this can come in handy.

Making a constant radius arc this way doesn't give the same result as using the circle tool but it's faster in situations where a perfect arc isn't necessary. 

 

Snipaste_2018-01-03_20-04-47.png

Snipaste_2018-01-03_20-10-30.png

Core i5 3570 @ 3.4GHz    |     8GB Hyperx Memory      |      Radeon R9 270X     |    Samsung 120 SSD

Link to comment
Share on other sites

  • Staff
21 minutes ago, filip89 said:

Making a constant radius arc this way doesn't give the same result as using the circle tool but it's faster in situations where a perfect arc isn't necessary. 

 

Ah, and that's my point - a perfect arc isn't necessary?  So why do you need snapping for that?  You can get the direction with the features we currently have - does the handle need to be exactly on the grid intersection? I'd argue that you wouldn't want either of these arcs if your curve construction accuracy was commonly that vital.

 

I'm still trying to see a common use case for always having the handles snap (as opposed to just being able to constrain direction).

 

SerifLabs team - Affinity Developer
  • Software engineer  -  Photographer  -  Guitarist  -  Philosopher
  • iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
  • MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300
  • iPad Pro 10.5", 256GB
Link to comment
Share on other sites

16 minutes ago, Ben said:

 

Ah, and that's my point - a perfect arc isn't necessary?  So why do you need snapping for that?  You can get the direction with the features we currently have - does the handle need to be exactly on the grid intersection?

 

Constant curvature on both ends. I don't want the curve to have a longer bezier then the opposite point. My examples above don't have a constant radius but if I go overboard with the keypoint I risk damaging the tangency of the line ends. Plus it's a lot faster then current tools. it would be cumbersome to use the pie/circle tool for most of these situations.

 

Core i5 3570 @ 3.4GHz    |     8GB Hyperx Memory      |      Radeon R9 270X     |    Samsung 120 SSD

Link to comment
Share on other sites

  • Staff

I'm not clear what you mean by "constant curvature" - the examples you give don't have constant radius, and the rate of curve changes.

SerifLabs team - Affinity Developer
  • Software engineer  -  Photographer  -  Guitarist  -  Philosopher
  • iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
  • MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300
  • iPad Pro 10.5", 256GB
Link to comment
Share on other sites

  • Staff

The main issue we have is that we use Alt to cancel/override snapping if the tool snaps.  Manipulation of handles in the Pen and Node tools is the only exception - this results in cusping of the curve node.  So, we can't then use Alt for cancelling snapping.  So, this becomes a feature that conflicts with our normal tool usage for the Alt key.  We then have to consider how we would enable snapping - and whether Alt still results in node cusping.

 

Since most people will already be using Alt for creating cusps, would they now want that hijacking for cancelling snapping?  We are always careful when adding new modes to tools as it adds complication to the usability.

SerifLabs team - Affinity Developer
  • Software engineer  -  Photographer  -  Guitarist  -  Philosopher
  • iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
  • MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300
  • iPad Pro 10.5", 256GB
Link to comment
Share on other sites

1 minute ago, Ben said:

constant curvature

 

I should have said symmetric curvature on both ends of the line. It's not constant curvature.

Core i5 3570 @ 3.4GHz    |     8GB Hyperx Memory      |      Radeon R9 270X     |    Samsung 120 SSD

Link to comment
Share on other sites

  • Staff

But, we can achieve symmetric curvature by offering snapping of the handle magnitude to its opposite partner.  The direction is then a separate issue, and this feature works for any direction - not just on grid axis.  If it is equal curve magnitude at both ends of the curve, this can be achieved differently, without impacting on our current tool features... and snapping to grid intersections is not required.

SerifLabs team - Affinity Developer
  • Software engineer  -  Photographer  -  Guitarist  -  Philosopher
  • iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
  • MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300
  • iPad Pro 10.5", 256GB
Link to comment
Share on other sites

18 minutes ago, Ben said:

Since most people will already be using Alt for creating cusps, would they now want that hijacking for cancelling snapping?  We are always careful when adding new modes to tools as it adds complication to the usability.

 

Couldn't this be a checkbox option in the snapping toolbar instead?

Core i5 3570 @ 3.4GHz    |     8GB Hyperx Memory      |      Radeon R9 270X     |    Samsung 120 SSD

Link to comment
Share on other sites

I am sorry Ben - I don't have time for this - or for waiting years for it to be implemented. I guess Affinity Designer is just not the tool for me. It was fun with a new player, but it is just Drawplus in new clothing. There is more sense in sticking to software that does the trick. I don't need all of Illustrators features, but I always needed this. I hate wasting money. But please make it an option in some preferences/settings or on the toolbar (like in Inkscape), so users whose work depend on the feature have it available. I don't use vector drawing tools for drawing manga cartoons, land- and cityscapes, people, posters or art. I use it for logos, icons, UI elements and sometimes adjusting a typeface. I use it for consistent accuracy, symmetry and because it allows a fast, precise and efficient workflow.   

Why? As one on the Adobe forum said:

Quote

"I require this to have consistent curves within an icon or illustration"

Or:

Quote

Insane that this was removed without adding an option in preferences. Snapping handles to the grid is imperative for precise icon and logo design.

Another one:

Quote

UI, UX, branding, typography—they’re all very precise arts, especially in a world of retina/Hi DPI screens and mobile devices. If you can’t snap your curves in Illustrator, then precision or coherence is incredibly difficult to achieve.

And for the fun of it a little reading (and PLEASE read the full thread below, Ben) when Adobe got a bad idea and removed the feature from Illustrator. They had to put it right back in and it works like a charm in the current version of Illustrator:

https://forums.adobe.com/thread/1505906?start=80&tstart=0

...

Link to comment
Share on other sites

  • Staff

A lot of users rely on the way our Node tool currently works.  Any change has to be balanced by not impeding their current workflow.  As I have stated - adding snapping will impact on the behaviour we have had since day one for the use on the Alt key when adjusting handles.

 

Looking at the "real" examples I have been given so far, I will be able to do the following with our existing tools (in 1.7):

- Snap the curve nodes (to grid or whatever - this has been working since very early on).

- Set the direction of a handle relative to its node to follow grid axis directions and diagonals (as well as snap to other useful directions relative to the existing geometry).

- Set the length of a handle relative to it's partner, or the handle on the other end of a segment (giving equal curve velocity at both ends of the curve).

 

The only thing that is missing is snapping (aligning) the handle to snapping candidates or grid points... and this very specific thing is the thing that I have still not been given an absolute case for. All other ways of setting the direction and length of a handle can be achieved - all relative to the geometry you have.  But, I still have not seen a real example of where snapping a node and a handle to grid intersections creates a precise curve that you actually want.  Beziers just don't work like that - the direction of the handle matters, but the length of the handle only affects the initial curve velocity and is visually subjective.

 

I think you will need to actually try the tools in 1.7 Beta, and see if they don't actually achieve what you need before you decide that it doesn't work for you.

 

We have tried to offer much more exhaustive control over handles than exists in other applications - we aren't going to just imitate other tools for the sake of it. If we can do something better or more flexible, we'd rather do that.

SerifLabs team - Affinity Developer
  • Software engineer  -  Photographer  -  Guitarist  -  Philosopher
  • iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
  • MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300
  • iPad Pro 10.5", 256GB
Link to comment
Share on other sites

Ben.

The way I see it, this feature would work for symmetry purposes. For example, I want all the tear-like shapes to be identical. Right now:

  • I can do this by eye and that might do the trick so they can look identical.
  • However, if I want them to be identical, I would have to create one of the shapes and then duplicate-rotate.

Nodes.png

For me, it's not that I can't live without it, but for cases like this one it'd come in handy.

Best regards!

Link to comment
Share on other sites

  • Staff

Yes, I agree, it would give you symmetry.  My question is still - are the curves you created by snapping handles to grid points the curves you actually wanted??  Symmetry is fine if it is symmetry of the thing you actually wanted.  If you are limiting your curve creation to placing handles on grid intersections just to achieve symmetry, and thereby limiting the actual curves you can create, is that preventing you from creating the curve you really want?

 

I think we can achieve symmetry through different methods that don't rely on having to place handles in snapped locations.  What about where I want to achieve symmetry on something that is not grid aligned?  We can match directions and lengths - this will give symmetry that doesn't depend on grid positions.  Surely that is what is really required???

 

I am currently working on tools to match opposing handles lengths.  When I have done that I will make a couple of videos to show how it works.

SerifLabs team - Affinity Developer
  • Software engineer  -  Photographer  -  Guitarist  -  Philosopher
  • iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
  • MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300
  • iPad Pro 10.5", 256GB
Link to comment
Share on other sites

13 minutes ago, Ben said:

Yes, I agree, it would give you symmetry.  My question is still - are the curves you created by snapping handles to grid points the curves you actually wanted??  Symmetry is fine if it is symmetry of the thing you actually wanted.  If you are limiting your curve creation to placing handles on grid intersections just to achieve symmetry, and thereby limiting the actual curves you can create, is that preventing you from creating the curve you really want?

Ah, I believe that's the central point in this conversation. You don't want to develop a feature that would become a limit for the things we can do.

 

13 minutes ago, Ben said:

I think we can achieve symmetry through different methods that don't rely on having to place handles in snapped locations.  What about where I want to achieve symmetry on something that is not grid aligned?  We can match directions and lengths - this will give symmetry that doesn't depend on grid positions.  Surely that is what is really required???

I'm starting to believe that (without the limitation mentioned before) your approach and the feature that's been requested go on different ways to achieve that same thing. But I'm afraid that for some cases, one would be preferable over the other and vice-versa.

 

13 minutes ago, Ben said:

I am currently working on tools to match opposing handles lengths.  When I have done that I will make a couple of videos to show how it works.

 

I'm looking forward to watch the demos.

Best regards!

 

 

Link to comment
Share on other sites

@Ben How about a feature that ensures that the curve is perfectly tangent to the red lines (in this case the bottom one) while dragging the handle.

 

 

Snipaste_2018-01-04_14-45-42.png

 

 

EDIT: I've used this feature in Illustrator to achieve something similar to this concept of curvature. If there's a better way then by all means I'm all for it.

Core i5 3570 @ 3.4GHz    |     8GB Hyperx Memory      |      Radeon R9 270X     |    Samsung 120 SSD

Link to comment
Share on other sites

2 hours ago, Ben said:

If we can do something better or more flexible, we'd rather do that.

What to enable direct entry of a position handle over the Transform panel?

Who will need it, he will enter points according to the axis, alternatively they can accurately calculate positions...

Affinity Store (MSI/EXE): Affinity Suite (ADe, APh, APu) 2.4.0.2301
Dell OptiPlex 7060, i5-8500 3.00 GHz, 16 GB, Intel UHD Graphics 630, Dell P2417H 1920 x 1080, Windows 11 Pro, Version 23H2, Build 22631.3155.
Dell Latitude E5570, i5-6440HQ 2.60 GHz, 8 GB, Intel HD Graphics 530, 1920 x 1080, Windows 11 Pro, Version 23H2, Build 22631.3155.
Intel NUC5PGYH, Pentium N3700 2.40 GHz, 8 GB, Intel HD Graphics, EIZO EV2456 1920 x 1200, Windows 10 Pro, Version 21H1, Build 19043.2130.

Link to comment
Share on other sites

  • Staff

@filip89

 

I've already done it - you just hold Shift and it'll snap the handle direction to the grid axis or the current tangent of the point.  Snapping to the same tangent as some unconnected piece of geometry is another question.

 

When you say tangent - do you mean tangent to the curve at its node, or relative to some other line?  We already have a method for ensuring that connected curve segments have the same tangent at their shared node - it's a Smooth point.

SerifLabs team - Affinity Developer
  • Software engineer  -  Photographer  -  Guitarist  -  Philosopher
  • iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
  • MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300
  • iPad Pro 10.5", 256GB
Link to comment
Share on other sites

  • Staff
29 minutes ago, Pšenda said:

What to enable direct entry of a position handle over the Transform panel?

Who will need it, he will enter points according to the axis, alternatively they can accurately calculate positions...

 

Currently we don't have the concept of handle selection, only node selection.  We had discussed here the possibilities of what we could do to allow data entry for handle positions.  Really, it would only give a possibility of copying values since no one can calculate effectively a position for a handle to achieve a required curve without performing some very complicated maths - and who would do that!?  It's hard enough to work out handle positions to create best fit arcs of constant radius (and even then it is impossible to do precisely with beziers).

 

SerifLabs team - Affinity Developer
  • Software engineer  -  Photographer  -  Guitarist  -  Philosopher
  • iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
  • MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300
  • iPad Pro 10.5", 256GB
Link to comment
Share on other sites

@Ben Alright, so to sum it up there will be a snapping feature where handle length "a" and "b" will be a perfect match.

I agree that making an arc with the snapping feature did not give the same results as making it with a circle but it's somewhat faster and symmetric. Right now I'd have to make a circle convert it to a curve, select points, break them up, delete points so only one segment is there. BTW there should be an easier way of deleting segments.

 

Snipaste_2018-01-04_15-33-40.png

Core i5 3570 @ 3.4GHz    |     8GB Hyperx Memory      |      Radeon R9 270X     |    Samsung 120 SSD

Link to comment
Share on other sites

1 hour ago, Ben said:

very complicated maths - and who would do that!?

I'm not saying it's trivial, but place the handle on the required grid axis yes. And if it would be possible to enter a relative position towards the node, then it would be possible to solve the symmetry.

Affinity Store (MSI/EXE): Affinity Suite (ADe, APh, APu) 2.4.0.2301
Dell OptiPlex 7060, i5-8500 3.00 GHz, 16 GB, Intel UHD Graphics 630, Dell P2417H 1920 x 1080, Windows 11 Pro, Version 23H2, Build 22631.3155.
Dell Latitude E5570, i5-6440HQ 2.60 GHz, 8 GB, Intel HD Graphics 530, 1920 x 1080, Windows 11 Pro, Version 23H2, Build 22631.3155.
Intel NUC5PGYH, Pentium N3700 2.40 GHz, 8 GB, Intel HD Graphics, EIZO EV2456 1920 x 1200, Windows 10 Pro, Version 21H1, Build 19043.2130.

Link to comment
Share on other sites

Thew point is not (only) that these two handles should be a match. It is also that handles in all kinds of shapes can be placed so that they match handles on other shapes. And can be placed easily. That dozens or even hundreds of corners and curves can be made exact replicas of curves in other shapes. And a lot more. The whole point of snapping of whatever is total control. And software asissted precision. If Serif doesn't understand the use case that Corel, Adobe and the community behind Inkscape (and others) understood, fine. I see your target audience. I just have to contact Serif for a refund. People asked for this for years, and it was never part of the retired DrawPlus. I do not see it coming. Further not having the beta 1.7 beta makes it even more complex to understand the "alternative".

 

If you could at least make the 1.7 beta available.

Link to comment
Share on other sites

  • Staff

Like I said - you needed to explain your actual use case.  If you want snapping for the purpose of duplicating curve geometry - that is totally different to the case you described of just snapping to grid intersections, which in isolation doesn't make a whole lot of sense.

 

You see - we have finer grain control of snapping within individual tools.  The Pen and Node tool allow snapping between nodes.  It would be easier to include an additional option just for this tool to allow snapping onto handles in other selected curves.  We wouldn't offer this kind of snapping outside of the Node tool as it is not possible to visualise handle positions - you only see the curves, unless in the Node tool and having the curves selected so that their handles are displayed.

SerifLabs team - Affinity Developer
  • Software engineer  -  Photographer  -  Guitarist  -  Philosopher
  • iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
  • MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300
  • iPad Pro 10.5", 256GB
Link to comment
Share on other sites

  • Staff

Ok, here is a selection of videos showing handle snapping.

 

This one shows snapping the node, then constraining the handles in line with the grid axis, and finally snapping the handle lengths to match.

HandleSnapping2.mov 

 

This one shows constraining the handles to diagonals, then snapping the handle lengths.

HandleSnapping3.mov

 

This one shows how you might match up handle lengths between a number of nodes.  Note the different markers to show whether you have matched the length of the partner handle of the owner node (one bar), or the handle at the other end of the curve segment (two bars), or both (showing both one and two bar markers).

HandleSnapping4.mov

 

And, showing the last example constraining the handle direction to grid axis.

HandleSnapping5.mov

 

Note: in none of these examples is "Snap to Grid" turned on.  The grid is only displayed as a visual cue.  The constraining directions are taken from the grid axis directions and intermediates/diagonals.

 

SerifLabs team - Affinity Developer
  • Software engineer  -  Photographer  -  Guitarist  -  Philosopher
  • iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395
  • MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300
  • iPad Pro 10.5", 256GB
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.