21

The following screenshot shows a vector with guides forming its horizontal and vertical limits:

screenshot of vector to be bent

How is it possible to bend the vector (along with a line – marked green in the image – which will serve as a reference) along a circular arc (of arbitrary radius)? Assuming the line is drawn along the mean of both the horizontal guides from edge to edge of the vector (i.e. with 145.07mm length in the screenshot).

The arc has the same length as the line, and after the transformation, every point in the reference line will lie along its corresponding point on the circular arc.

I understand this is a simple rectangular to polar transformation, but can't find a way to do it in Inkscape. I can get close results with "Bend path" effect, but close is not enough.

I am okay with using some other software (as long as it is FOSS and can do it without much effort).

2 Answers 2

25

There are several methods to do this. Here's another

  1. Copy the graphic. Then choose the Bézier tool.

  2. In the tool options, choose the option that says "Bend from Clipboard".

  3. Draw a curve with the Bézier tool.

A nice feature of using a Bend path effect is that you also get an interactive control to adjust the width of the graphic.

enter image description here

3
  • This worked fine for me. However, when my shape contains B-Spline nodes, these revert back to normal nodes unless I draw the path to bend along as a Spiro path.
    – m00am
    Aug 16, 2020 at 10:01
  • 1
    @m00am I just used the Pen Tool set to "Regular Bezier Paths", and created a regular Bézier curve. That's what I suggest you do.
    – Billy Kerr
    Aug 16, 2020 at 10:08
  • Thank you, this works too.
    – m00am
    Aug 16, 2020 at 10:21
22

Inkscape has path effect "Pattern Along Path" which can produce something resembling. It's not limited to circular arcs, the bending route can be arbitary. See an example:

enter image description here

  1. The original shape, must be a vector path, copied to clipboard for step 3 It cannot be a group nor a preset shape such as an ellipse. It must be converted to path. Several paths can be combined to one with Path > Combine.

  2. The wanted bending route, must be a path, circles, rectangles etc. preset shapes must be converted to paths before use (Path/Object to Path)

  3. The curve in (2) has got path effect "Pattern Along Path" The pattern was taken from the clipboard

  4. The color was lost, but normal coloring works. A red fill was selected.

4
  • Nice! It's only my opinion, your answers are typically very detailed and could be made "Perfect" by adding GIF animations! just my opinion. Jan 13 at 21:04
  • I curved some text along a circle, but I want it to be right at the top of the circle. How do I do that? Mar 28 at 4:15
  • You can take a piece of a bigger circle. Better to use Text > Put on path -for text objects to keep the letters with no geometry distortion. You may need to rotate the circle or use a piece. of it (after converting the circle to path).
    – user287001
    Mar 28 at 5:52
  • @user287001 I've already converted my text to a path - I needed to modify the font a bit. Mar 28 at 6:54

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.