1

The question is probably due to my poor understanding of Inkscape and/or SVG. Is there a reason why standalone nodes do not exist? What I mean is an abstract non-renderable point which can still be worked with. Examples of use being for instance:

  • Reproducing a bitmap diagram. You place the nodes at critical points and complete the drawing.
  • Using such points to facilitate geometric constructions by having real objects representing mathematical points. That is you place certain points on the figure which can be moved but are not drawn. Then you create the figure based on those points.

I realise that there are plenty of workarounds such as using dots and hiding them, or using zero lenght paths etc... But they seem to me to be exactly that: workarounds.

Perhaps it is something non-existing in the SVG specification though I don't really understand why a node cannot exist without a path. Or perhaps it very well exists, though if that's the case, I cannot find it. I would appreciate any form of pointer, be it search terms, a webpage or a direct explanation.

PS: my main interest would be to vectorize an existing bitmap diagram without feeiling that I'm emploing hacks and workarounds.

  • Hi. Welcome to GDSE. Not sure I understand your question or your aims. What do you mean by "place nodes at critical points and complete the drawing". Are you trying to automate drawing vectors from a bitmap? Have you tried the Trace Bitmap functionality? – Billy Kerr Jul 5 at 15:35
  • Hi, thanks for the comment, I am indeed trying to trace a bitmap. But the Trace Bitmap has 2 problems for me: 1. It does not reflect the nature of the bitmap (for instance a mathematical diagram has points of interest). 2. It requires cleaning and more work than this hypothetical method would. – Semptum Valoris Jul 5 at 16:14
  • Then you might be as well try to recreate the diagram manually, using the Bézier tool, and shape tools, etc. There's nothing I know of that can recreate perfect vector diagrams from bitmaps, other than human skill. – Billy Kerr Jul 5 at 16:37
  • Apologies, I seem to have been too vague. I am indeed using manual tools. But I hoped there would be standalone points I could place in places of interest to facilitate the process (and it also makes the process more logical and separable into steps). In no way is it impossible to do it with normal tools. It just greatly surprised me that the seemingly most logical way was not possible. – Semptum Valoris Jul 5 at 16:45
  • No worries. I think the problem here is the way you think it should be done versus the way Inkscape (and also other vector software) actually works. Learn to use the tools by following some tutorials. It's not exactly rocket science, but there is a learning curve. Remember also that Inkscape is a graphics tool which isn't specifically designed for creating maths diagrams, but many kinds of artwork. – Billy Kerr Jul 5 at 16:58
2

It sounds like what you are trying to do is store coordinate data in an SVG file.

I don't really understand the use cases that you described. SVG is an image format, not a data format. Wouldn't it make more sense to store coordinate information some other way until your application is actually going to draw something? Otherwise there is nothing to render.

If you really want a single node path, you can sort-of emulate one by using the path operations m and v together. To do this in Inkscape, you would need to:

  1. Draw a path with 2 points, where the first node is where you want your "single node"
  2. Open the XML editor (ctrl+shift+k) and select the path.
  3. Edit the d attribute on the path to remove the second node's coordinates and then add v 0 (such as m 50,90 v 0 for a "single node" that appears at 50,90).

Again, I think this really isn't an intended use of an SVG file.

  • The g tag can do this – joojaa Jul 5 at 16:04
  • I am indeed trying to store data. To me it was not so different from storing the vectors. I can obviously do things differently (I describe what I'm trying to do in my answer above), but it just seemed weird that it was not an existing feature. I guess your answer explains it. Thanks. – Semptum Valoris Jul 5 at 16:27
  • 1
    @joojaa how can you do <g>? AFAIK you can't specify a location or anything with g; it's just a container. – Scribblemacher Jul 6 at 13:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.