Jump to content

Is it possible to constrain a line to certain measurements, and still adjust the curve?

Recommended Posts

I am including an example to help make my question more clear.

So I quickly drew a C, an S, and an M that are (very roughly) the same height.

If I measure the lines for each of the letters (using a flimsy measuring tape up against my computer screen) I can estimate that the line for my C is 14 centimetres, my S is 26 centimetres and my M is 44 centimetres. 

I would like to know if there is a way to set them all to a specific length, let's say 25 cm.

So the C would automatically become a bit bigger, the S would become only a teensy bit smaller, and the M would become quite a bit smaller.

I could really use this function for creating sewing patterns... So if I want to sew an S shaped edge to a C shaped edge, I would need the beginning and end points to line up...  I normally use string to adjust the shapes of my pattern edges while keeping a specific length. This is time consuming to measure it out and tape it all down on paper, trace it out, and un-tape it all for each seam so if I could design patterns completely in affinity designer, I would be sooooooooooooooo happy!  :)

Thank you for any help!

CSM example.afdesign

Link to comment
Share on other sites

Thank you for your reply. :) This makes the height the same, but what I am looking to do is make the line length the same. Sortof like if I had 3 snakes that are all the same size (for example, each snake being 10 inches long from head to tail) but I want to shape them all differently, one in the shape of a C, one in the shape of an S, etc...

:S I hope that makes sense!

Link to comment
Share on other sites


  Sorry it is me again.  I looked at your file.  I don't know if you will be happy with my resolution.  Please bear in mind, this is only my opinion. And that I am no expert, just a self taught tinkerer.

  Okay.  That being said.  Here are the limits I set upon myself in dealing with this.

First.   The paper size is absolute.  You have an A4 paper selected.  The dimensions are 21cm by 29.7 cm.

Second.  The size requirement for the letters being 25cm were absolute.


So, the only way to do this is to put each letter on a separate paper.  

This is what I did. And here is the YouTube link for the video I made for it.  Forgive the no edits, and no sound.



So the first thing I did was look at the paper size by hitting the document setup button.

I changed the measurements to centimeters, since that's our base measurement.

I changed the orientation of the document to portrait so I had more room in the Vertical to work with.

I then selected my Artboard tool, and made the document into an Artboard.

I hit the Insert Artboard button 2 more times to create 2 more A4 sheets on my document.

I went to view and turned on the grid.  I went to View and opened the Grid and Axis Manager Up.

I deselected the Automatic Grid.  Kept the Mode to Standard, and checked the Uniform box.  I am happy with a 1cm square grid size, so I don't change anything.

I need to make sure my Snap to Grid is on.

Now I am going to do each letter separately.  You may be able to select them all and do it in one shot. But for today we will just do each letter separately. 

I select the first letter.  Go to the transform tab, make sure the chain in linked between the H and W.  And I set 25cm into the Height box.

I position my letter.

I go to my next letter and do the same. This time dragging it to the second Artboard.  Then repeat for the Third letter.

And there you go.  All you letters are 25cm in height and placed on an A4 sized paper.  But in this case I had to put each letter on a separate sheet of paper.

I don't think I forgot anything.


Hopefully you can find some use in these techniques.  Good luck.  Thank you very much for your very gracious words for my other video.  Success.

Link to comment
Share on other sites

Well wait a second!

Crabtrem jogged my brain.


If we get a couple new options soon.... and I think that we will.

(this can be done in Illustrator, so maybe other graphic programs can too. It's a little bit of work though)


IF we can select multiple nodes and rotate them around a user defined axis/point....

You can start with a multiple-node straight line (no handles) of your desired overall length (use the grid and snapping for easy creation,... although segment lengths don't need to be equal. Overall length is the only important thing). 

Then, by grabbing groups of nodes and rotating around the node on the end of the group... bend the straight segments into your shape.

At the end grab all nodes and hit smooth handles. Should work.


Next letter, start with the same straight line. Etc.


(I'm not 100% sure that transforming the handles with add length or not. But if it does, then if there are an equal number of evenly spaced nodes on each line the change should be equal on all.)

Link to comment
Share on other sites

Hello again Crabtrem!  :) Oh boy, I appreciate the time you put into that post, but I think I may have been misleading with my original question. I am not so concerned about making each letter the same height. What I am trying to do is figure out how to set or measure the length of a curved line, or lock it somehow, so that I could draw a shape while also knowing exactly what the measurement of the perimeter (or a selected portion of the perimeter) would be.

If you had a circle and a double star that were both the same height and width, they would both fit on the same size of paper, but the length of the line needed to draw the circle would be much much less than the length of the line(s) needed to complete the double star.  It is not so much the top-to-bottom, side-to-side measurements that I need, but a measurement of the actual curved and/or bent lines themselves.

Like if I had a 12 inch flexible ruler beside me in my office supply drawer, and I bent it all around into different shapes, there is still nothing I can do to make the ruler itself bigger or smaller.... and that is what I am trying to do with the lines.   If I want to sew the edge of a U shape to the edge of a C shape, I would like to be able to draw those shapes in affinity, and know that the seams will line up... hopefully that makes sense. I hope you get paid for this Crabtrem, I think you are definitely one of the smartest users of this program I think!!!  :)

Link to comment
Share on other sites

That method sounds interesting Jimmyjack, I think I may need to grab a coffee and re-read it though, lol as I am still very much a newbie... I would love to try what you just suggested but I don't know exactly how to that. How do you create a user defined axis? 

Also, I am still trying to figure out the main differences between the Convert: Smooth, Convert: Smart, and Action: Smooth curve. I noticed that Action: smooth curve takes away extra nodes, but I am not always sure which of those buttons to use when I want to make things more roundish, so I end up trying all of them usually and playing around with them. I like it when I can adjust the curve between two nodes without the lines on the other side of the nodes being affected. But that's maybe a different question for a different day. Thanks for giving me hope within the affinity designer program, because I really don't know if i have the brains to figure out ANOTHER software program, haha. I'm an artist, and most definitely not a computer whiz!  :)

Link to comment
Share on other sites

crabtrem, like I did when I first read the initial post, I think you misinterpreted what is wanted. It isn't uniform height or width; it is uniform path lengths for each letter. That would be analogous to forming the letters from pieces of string, each 25cm long.


I don't know of any software that could do that automatically, although maybe there is some special purpose sewing or embroidery oriented app that can. I know there are CAD apps that can display or modify properties like area or volume of modeled physical objects, but I'm not sure how well that would work for simple 2D paths, & they are unlikely to be cost-effective if this is all they would be used for.

Affinity Photo 1.10.5, Affinity Designer 1.10.5, Affinity Publisher 1.10.5;  2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo & Affinity Designer 1.10.5 for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.0.2

Link to comment
Share on other sites

This is probably not a good idea.  But what if you made a template from 1 cm squares, and then drew over that.




I made a 1cm grid.  Then place 1cm squares into my rough design.  Then you can use that as your rough template and trace over them. I used 21 squares per letter.


That should approximate that the length of the letter is around 21cm.  I think.

Link to comment
Share on other sites

Since we can't (yet) select multiple modes, I tried a variation on JimmyJack's idea using a 'master' set of ten line segments, each 1/10th the desired path length, & constructing the letters out of those segments, arranged end to end. Ten segments was an arbitrary number; more would have been better but would have made this even more tedious than it turned out to be.


The idea was to use snapping to make sure the ends were aligned precisely, select all ten, use the join curve action to make them a single curve, & then smooth that to get a less jagged looking result. This turned out to be more work than expected, because for some reason I don't understand the join curves step kept duplicating nodes where the segments were joined for the C & M ... but not the S. This messed up the smoothing action, requiring deleting one of the duplicates at each joint. Even so, the results were less than I hoped for.


I have included two screen shots & an Affinity file to make this (a little) clearer. (There are two snapshots in the AD file, the first of which is before the smoothing & joining, if anybody cares about playing around with a better method for doing that.) 



equal path letters test.afdesign

Affinity Photo 1.10.5, Affinity Designer 1.10.5, Affinity Publisher 1.10.5;  2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo & Affinity Designer 1.10.5 for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.0.2

Link to comment
Share on other sites


If I understood correctly, you need to calculate the length of the letters of the curve. There is a special application for the program Corel Draw, this application we use for milling. For affinity designer does not know the application to calculate the length of the curve.
Here is a link where you can download  http://lazer-service.ru/files/109-length-vector-article
this app. although the site in Russian :)
I hope this helps
Link to comment
Share on other sites

Hi Jillybelly,


your problem is intriguing. There was another solution that came to my mind. If you don’t mind counting, there might be a simple approximation method that will help you to determine the length of your Bézier path. Why don’t you just use a dotted line and count the dots to determine the length of your paths?


Please have a look at my video below and note what happens to the dots when I move the Bézier handle in order to extend the length of my path. Counting dots should give you a rough but sufficiently good approximation for the path length, at least for comparing different paths. (Using different stroke widths will give you approximations of different accuracy.)


Cheers, Alex  :)


Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...

Important Information

Please note there is currently a delay in replying to some post. See pinned thread in the Questions forum. These are the Terms of Use you will be asked to agree to if you join the forum. | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.