Re: [Inkscape-devel] GSOC 2008 / Technical Drawing in Inkscape
![](https://secure.gravatar.com/avatar/cd17dd4027b39b6be66b833771c27352.jpg?s=120&d=mm&r=g)
Op Wo, 2 april, 2008 13:26, schreef Maximilian Albert:
[...] But given that snapping is a common issue with tech drawing and CAD, I was considering to include some of it in my GSoC proposal as more advanced features. In particular, "tangent snapping" (of lines to curves, possibly even of arbitrary curves to each other) would be very nice and seams quite feasible using 2geom.
Currently all snapping is from a single point (node/bbox corner) to another point or to a path. Adding midpoints, circle centers, etc. is easy, as this requires only calculating additional points. Things become a little bit more complicated though when we would like to snap paths to paths, e.g. to make them tangent or perpendicular. Assuming that 2geom provides the math to find tangents and such, then it's still doable for pure translations of objects (using the selector tool). We will only have to iterate through the paths instead of through the points. But things do get complicated when objects are being scaled / skewed, or when a single node within a path is being dragged in the node editor. In these cases one of the paths is changing shape.
Since I know that Diederik is working on snapping and I don't want to steal his work :), my question is mainly directed at him: Do you think this is a good idea? If so, what else would you consider worthwhile (and don't want to do yourself)?
I've been working so far on the point to point/path snapping, which is nearing completion. I don't think there's much left to do there, except for some GUI related stuff (dialogs, snapping indicator, etc.), and calculating additional midpoints and such. It will probably take me a few months, but that's only because my time is limited. It is not very challenging. If you'd like to work on the snapping, then you should work on the path-to-path snapping. This will be a significant amount of work. IMO you could go either of two ways for this: - build a general path-to-path snapping framework, which is available anywhere (node editor, creating new shapes, selector tool). This is what we also have for the point-to-point/path snapping - or limit it to specific tools, e.g. perpendicular snapping only in the Freehand / Bezier tools, not in the selector tool's transformations.
I think the former would be quite ambitious, don't know it it's really possible, also because I haven't thought about it very long yet. The latter would give more chance of achieving something, step by step.
Diederik
participants (1)
-
Diederik van Lierop