How to snap a path to a point?

Post questions on how to use or achieve an effect in Inkscape.
theozh
Posts: 437
Joined: Fri Mar 23, 2012 6:30 pm

How to snap a path to a point?

Postby theozh » Wed Mar 01, 2017 5:00 pm

There is the snapping option "snap to path".
Now, I basically need it the otherway round.
For example, I want to resize a circle such that the circumference is on a given point.

Currently, I don't see it. I am aware that probably only nodes can snap to something.
Is there a smart way to do this without approximation or trial and error or hand calculations?
Win7/64, Inkscape 0.92.2

tylerdurden
Posts: 2344
Joined: Sun Apr 14, 2013 12:04 pm
Location: Michigan, USA

Re: How to snap a path to a point?

Postby tylerdurden » Wed Mar 01, 2017 6:36 pm

If you don't mind to make a new circle, there's Menu: Extensions>Cad Tools>Circle By Two Points. (put a line from the circle center to the point for the radius.)
Have a nice day.

I'm using Inkscape 0.92.2 (5c3e80d, 2017-08-06), 64 bit win8.1

The Inkscape manual has lots of helpful info! http://tavmjong.free.fr/INKSCAPE/MANUAL/html/

theozh
Posts: 437
Joined: Fri Mar 23, 2012 6:30 pm

Re: How to snap a path to a point?

Postby theozh » Wed Mar 01, 2017 7:24 pm

Thanks, @tylerdurden, I don't have the CAD-Tools extension, apparently it's not included in Inkscape 0.92.1, I need to search where I can download it and test. But it sounds like it's exactly what I am looking for. I hope it contains more such helpful tools.

In the meantime I found the following tedious way:
1. draw a circle with arbitrary diameter at your desired center point
2a. draw a connecting line between center point and the point you want to snap the circumference
2b. duplicate the circle and open it to an arc (green)
3. since apparently you cannot snap the arc handle to the path (even with "snap to path" enabled. Why not?), you need to cut the arc with the connecting line (into green and red)
4. select both the arc and the black circle and scale (drag while holding Shift+Ctrl) such that the endpoint of the arc snaps to your desired contact point.
5. delete the unwanted helpers
SnapPathToPoint.png
SnapPathToPoint.png (16.52 KiB) Viewed 2079 times
Win7/64, Inkscape 0.92.2

theozh
Posts: 437
Joined: Fri Mar 23, 2012 6:30 pm

Re: How to snap a path to a point?

Postby theozh » Wed Mar 01, 2017 8:04 pm

sorry, @tylerdurden I can't find the CAD Tools extension on these pages
https://inkscape.org/en/gallery/%3Dextension/?page=1
Is it called differently?
Thank you for a link...
Win7/64, Inkscape 0.92.2

theozh
Posts: 437
Joined: Fri Mar 23, 2012 6:30 pm

Re: How to snap a path to a point?

Postby theozh » Wed Mar 01, 2017 9:26 pm

OK, I finally found it here:
viewtopic.php?f=5&t=18411#p69305
Yes, it works! Thanks @ragstian!

Oh, I see, there you had already a lengthy discussion about the same case with different suggestions for a solution in case of a circle to point.

The question is what would be the best general way for all kinds of objects and paths...?
Win7/64, Inkscape 0.92.2

Moini
Posts: 3381
Joined: Mon Oct 05, 2015 10:44 am

Re: How to snap a path to a point?

Postby Moini » Thu Mar 02, 2017 3:07 am

Quadrant points can be made to snap, at least. It's the 'smooth nodes' option in the snap settings. Arc ends snap with cusp node snapping. For the arc itself to snap, you'd have to convert to path first, currently.
Something doesn't work? - Keeping an eye on the status bar can save you a lot of time!

Inkscape FAQ - Learning Resources - Website with tutorials (German and English)

User avatar
brynn
Posts: 10309
Joined: Wed Sep 26, 2007 4:34 pm
Location: western USA
Contact:

Re: How to snap a path to a point?

Postby brynn » Wed Mar 08, 2017 12:30 pm

I find snapping can work much better by using the option 'Snap node nearest the pointer' or something close to that. Then you just have to manage to grab whatever you're snapping near the place you want to snap. It has made snapping a lot less confusing for me, and easier to use. Everything doesn't try to snap to everything else. Only to what's near the pointer.

Edit
Wow, I just really digested your process. That's intense! So you want to snap a circle to something else? I would just place a node at the place on the circle where you want to snap. Then grab the circle near to the node, and drag to your target.

theozh
Posts: 437
Joined: Fri Mar 23, 2012 6:30 pm

Re: How to snap a path to a point?

Postby theozh » Thu Mar 09, 2017 5:32 am

brynn wrote:... So you want to snap a circle to something else? I would just place a node at the place on the circle where you want to snap. Then grab the circle near to the node, and drag to your target.

@brynn, basically yes. I don't think that I can just take "a node" on the circle. I need to find THE node which is located on the circle AND on the connecting line between rotation/scaling center and the desired touching point. That's why I need to carry out this cut with the connecting line on the duplicate object.
BTW, I don't think it is possible to place a node on a circle. You would have to convert it to a path first, whereas I would like to keep it as a circle.

Anyway, I found when scaling the objects with the above method using Shift+Ctrl+MouseDrag (i.e. proportional with respect to the rotation center) this newly created node DOES NOT always snap to the touching point, although, mathematically it should. I don't know why, but I guess that's maybe some unprecise rounding in the numerical format?!
Side comment: in the above sketch/procedure it is actually not necessary to have an arc. You can also directly cut a duplicate of the circle.

Well, a circle touching a line (or point) is just one example to illustrate what I am looking for.
I would love to see more construction functions, e.g. like:
a) construct a circle by center point and a point on the circumference
b) construct a circle defined by 3 points
c) construct a rectangle defined by 3 points (either 1x center+2x corners or 3 corners)
d) ...
Win7/64, Inkscape 0.92.2

User avatar
brynn
Posts: 10309
Joined: Wed Sep 26, 2007 4:34 pm
Location: western USA
Contact:

Re: How to snap a path to a point?

Postby brynn » Sun Mar 12, 2017 1:53 pm

Oh, I didn't realize you meant a circle shape. I thought you meant a circular path. Your title says "path to a point".

So no, for shapes, as far as I know, it's not possible to snap to the...."line" which forms the shape. There's just no snap target for the shape itself, except for the handles, including rotation center. Otherwise, you have to use the bounding boxes for snapping.

User avatar
brynn
Posts: 10309
Joined: Wed Sep 26, 2007 4:34 pm
Location: western USA
Contact:

Re: How to snap a path to a point?

Postby brynn » Sun Mar 12, 2017 1:58 pm

For

a) you can do that already, if the center point and the circumference point are already known - especially easy if they are already snap targets, such as on a grid, or guide intersection, or nodes on other objects, etc. If they aren't already known, then that sounds a lot like some of the CAD features that a lot of people have been asking for.

b) I know there are a few new functions with 0.91 and 0.92 for making things from 2 points or 3 or 5 or whatever. I have not tried them yet, so can't commoent.

c) same answer as a).


Return to “Help with using Inkscape”