1

Edit: I did not want to conflate the question with unnecessary details, but from the extended comments, it seems some additional info is in order.

I would like to create a path that ultimately can be transformed into 3D-printable surface. Inspired by this paper, I am interested in making functional materials. In the paper, the authors use subtractive manufacturing to create heating and conductive layers for their object. I have access to 3D printing filament that would allow me to explore an additive manufacturing approach.

The original question was this:

Is there a tool in Inkscape that would allow one to make paths like the black trace in the object below?

enter image description here

I'm interested in a semi-automated approach because while the image above can be created in a straightforward, yet brute force method, other geometries are less obvious, yet there seems to be a pattern that might be created with minimal manual input. From figure 14 of the paper, for example.

enter image description here

11
  • I can't describe how to do this in Inkscape.. however, this is exactly the stuff vector apps, like Inkscape, excel at. It's merely a circle and a rectangle, fused together then two stroked paths added at the bottom. 20 seconds of effort of you're familiar with Inkscape .. obviously a bit longer if you're not.
    – Scott
    Commented Oct 6, 2023 at 18:57
  • It's possible to recreate something like this in Inkscape, but you'd need a combination of the various tools. For example, you could use the rectangle and circle tools to create the basic shapes, then use the Shape Builder to combine them, use the Offset LPE for the inner red lines and various boolean operations to reproduce to remove/add pieces.
    – Billy Kerr
    Commented Oct 6, 2023 at 21:15
  • @BillyKerr thanks for that info. I'm comfortable with making the overall shape (rectangle/circle union/exclusion) and it's the black path that is of particular interest. From what I understand, this would also need to be a composition of boolean operations. My real life application has a much more complicated geometry, which would make a bunch of boolean operations very difficult. Commented Oct 7, 2023 at 14:30
  • Not sure I understand. Are you talking about cutting out the red lines from the black? What is your "real life" application? What are you going to use this for? Generally in graphics there would be no need to cut out all the pieces as you could just have the red strokes overlaying a solid black shape. What is your "real life" application? Why would you need to do this, or what is your goal?
    – Billy Kerr
    Commented Oct 7, 2023 at 16:29
  • @bobthechemist I doubt any complexity is actually complicated with cut. Your just conflating tedious with difficult. Its just question of using your time to do it, had you just started right away youd be done by now. But don't use booleans just cut Unfortunately inkscape does not have a cut at intersection command it would make things easier.
    – joojaa
    Commented Oct 8, 2023 at 8:57

3 Answers 3

2

Here's one possible approach for Inskcape 1.3. What follows isn't a tutorial, just the basic steps.

  1. Draw a circle and rectangle, with a thick black stroke, and convert Stroke to Path

  2. Use the shape builder to make the combined shape. There will be lots of extra nodes around the circle which you can simply delete. Set a red stroke, and no fill. Duplicate this shape, you'll need a copy of this for step 4.

  3. Duplicate the red stroked shape, and add an offset path effect, and drag the control within the shape to create the internal strokes.

  4. Use the duplicate you made in step 2, set its fill to black, stroke none

  5. Overlay the two using snapping, red strokes on top of the black filled shape. Draw some extra connecting lines at the top and bottom of the circle.

  6. Add some black filled rectangles to create the two descending lines, and a few more black filled rectangles to cover pieces of the red stroke within the circles.

enter image description here

Edit: If you need to cut out the red strokes from the black shape, it would be possible with a little more work. Instead of using black rectangles to cover portions of the red strokes, you could instead delete some of the segments. Then you could ungroup the red pieces, convert stroke to path, do a union boolean, then finally use a difference boolean to cut out the red from the black shape.

Another option would be to draw concentric strokes, add extra nodes at the intersections, break apart, delete unwanted segments then join them to make a single path. For graphic design purposes this might be considered overkill. However, for other purposes it might be just what you want.

enter image description here

5
  • I think your another option suggestion is close to what I'm searching for. I've added additional details to my question to highlight the problem (I think). My minimal working example is probably not a very good example; as I move to more complicated shapes, the deleting unwanted segments part would ideally be done in an automatic or semi-automatic way. Commented Oct 8, 2023 at 13:15
  • @bobthechemist Maybe the grid method mentioned in the other answer would be better. Inkscape isn't software that I'd consider automatic really. There is the shape builder tool, but it's still somewhat in development, and in need of improvement.
    – Billy Kerr
    Commented Oct 8, 2023 at 15:53
  • 1
    @bobthechemist There's also possibilities with the pattern along a path functionality now that I've had a look at your other example. And to be honest with you might be better looking into dedicated PCB design software, not forgetting that Inkscape is mainly designed for graphic design, so it might not be the best option for you.
    – Billy Kerr
    Commented Oct 8, 2023 at 15:56
  • @BillyKerr i dont think its any easier for the OP. They usually have just as bad or worse drawing tools.
    – joojaa
    Commented Oct 8, 2023 at 16:40
  • @BillyKerr I agree, Inkscape doesn't seem to be ideal. Unfortunately, the PCB design software with which I'm most familiar is also giving me troubles. Pattern on Path looks like the best approach, though. Commented Oct 9, 2023 at 14:02
1

Your original question differs from your later question lets deal with your original question first because its a important question to answer. Lets consider that your shape is of arbitrary complexity.

So lets assume you have the construction shape of Uno Vainbourn. Well yes but why draw when you already have al the pieces. What you can do is you can ask inkscape to cut everything up. Here is how:

  1. select all your construction shapes
  2. go path combine
  3. Apply the knot effect. Gaps in both. Adjust the option gap length to 0 (sometime it glitches out so set it to 0.001 or something)
  4. Apply object to path
  5. Apply break apart.

Each section is now separate just delete the ones you don't want. Then join the curves together by combining again and selecting all points in node mode and clicking join nodes button in the upper toolbar on left.

This is relatively straightforward and fast in your original case and you dont need to approximate the curves by drawing them.

Now this also works in your other use case but is a bit tedious. Then again it dont need to be. there are two tools that come in handy:

  1. In newest inkscape they added ctrl + alt + d to repeat last transform duplicated. So what you now can do is make one swing of the pattern and just copy it. Then keep spamming ctrl + alt + d until you have enough.

    enter image description here

    Image 1: Clone existing shape

    Then merge same way as in previous section. Even without this functionality its pretty straightforward to duplicate move, (select what you have for faster coying) duplicate move etc. Works in mostly any software.

  2. You can use same in conjunction with pattern along path. Draw one section of your shape. Copy it draw a path for your overall shape, apply pattern along path

    enter image description here

    Image 2: Pattern on path

    Again convert to real shape using object to path and join nodes. then adjust your corners. 90% done.

All in all drawing your shape is less work than it was for us to get out of you what you really want

3
  • Yup, pattern along a path. +1
    – Billy Kerr
    Commented Oct 8, 2023 at 17:23
  • All in all drawing your shape is less work than it was for us to get out of you what you really want I can say the same about the answer. Thanks for pointing me in the direction of Pattern along a path. That's clearly what I needed. Commented Oct 9, 2023 at 14:00
  • @bobthechemist Yes, but you are responsible for asking a relevant question.
    – joojaa
    Commented Oct 9, 2023 at 15:01
0

I guess you want the black area as a single open curve which contains straight and circular arc segments. No idea how to make it easily as a single open curve otherwise than by drawing it on a prepared set of guide or "helper" curves. In theory one could also splice and join together the actually wanted parts, but that would be a tough task.

Draw at first carefully with the grid the helper curve set - a collection of lines and circles which contain also the wanted route. I drew a few rectangles and circles to the 5x5 millimeter grid. The vertical midline was drawn as the last "helper" item with the Bezier tool.

enter image description here

All lengths an circle diameters fit to the grid because I had snap to grid ON among other snaps.

Group the helper curve set, lock it in the objects panel, turn snap to grid OFF and draw with the Bezier tool the wanted route. To get it perfect be sure you have snap to paths, nodes and crossings ON. Snap to grid causes troubles, because the curves do not cross the rectangles in grid crossings, so it must be OFF in my case.

I drew only one half, because I can make a mirror duplicate and join it:

enter image description here

As you see, my curved parts have one intermediate soft node dragged on the fly during the drawing. They are on the circle arcs, but otherwise they are extremely inaccurate. The fix is easy:

enter image description here

Path effect Spiro Spline rounds the arcs if they have corners at their ends and one symmetric soft node between them. All three nodes must be placed on a circle!

The fix become permanent by applying Path > Object to Path.

The full path was made by duplicating the drawn half, by applying horizontal flip and joining the halves at the end node:

enter image description here

The path is now ready. The helper curve set can be hidden or removed. The actual problem (the guessed one) is now solved, but some decorations may be wanted, maybe as extra items but without killing the "single open path" idea. Make for ex. the stroke wider:

enter image description here

Note: The result depends much on the used stroke style options.

A background shape will fill the white gaps. There are many ways to insert one. Here the path is duplicated and the original in the back got a wider green stroke:

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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