Radial text?

Are you using clones or copies? It was my understanding that the clones changed when you changed the original or possibly even changing a clone changes the rest of them to match.

I haven’t tried to do much with them in Inkscape as I had found them more annoying than useful elsewhere.

Thinking on it I guess “pattern on a path” is basically a clone concept but different from the usual copy/clone concepts.

You’re 100% correct. Go back and re-read this:

It all hinges on the Select them all and unlink them bit. Select all your clones, then go into Edit->clones->unlink clones, and they’ll all be text objects, ready for editing.

You can also accomplish this (more quickly?) by deleting the original text object, all clones will be orphaned into independent objects (warning, this is the default behavior. A preference and can be set to delete all clones when the original is deleted. Use your noodle before proceeding).

4 Likes

I’m trying to use the arrange polar coordinates and can’t get them to radiate. I tried different points on the bounding box and different reference circles.

It’s a great question though there should be an easy solution.

1 Like

The clone thing is pretty easy…

Text me
image

Rectangle and center me.
image

Center snap me.
image

Guide me. (pic not working – align a guide to your center point of the rectangle.)

Uncenter snap me. Rotation snap me.
image

Set rotation point for the text on your guide.
image

Delete the rectangle.

You only ever needed the rectangle because text won’t snap on center. I suppose it might snap on rotation, but if you center it in a rectangle and use that to align your stuff, it’s pretty easy. Go forth and experiment.

Tiles clones. Shift -100% x per column.
image

Decide on how many spikes you want. Let’s do 27. Set rotation per colum to be 360/# of spokes.
Note I used the equation in the field, but it’s 13.333 degrees for you mathy types.
image

Set one row and 27 columns.
image

Click create. Skadoosh, clones.
image

Beware that the original text will have a clone on top of it. I tend to kill that clone.
image

Now you have one text object and 26 clones. Select them all, go to edit->clone->unlink clone. Boom, 27 text objects.
image

Use the text tool to edit as you see fit.

OR…

I built a php script to search and replace the text in one shot. (see my suggestion to do this way back in this thread) I wrote a 27 line text file and fed it and the svg into the script and this is what resulted.
image

Here are all the files, the original SVG, the text file to replace with, the php script that edits it, and the resulting output file. If you decide to dig into it, read the top of the php file before you say a word :wink:

replacer.zip (5.8 KB)

12 Likes

Thanks for the clear demo. Normally I would use clone for this. It would be the best as you note. Just had that tissue of having to go back and type in all the text at wonky angles.

It’s great to have the programming skills to make that part easier. I messed around with sed and grep for about a year a while ago when I was converting a library catalog from a proprietary database to a mySQL installation. It was fun to normalize the data. But I have forgotten the little I learned.

Scripting languages are like learning how to type, or balance a chemical equation, or conjugate verbs. Useful skills, but not always part of the the curriculum. I think they should be part of any high school education!

I’m still curious as to why the align on polar coordinates doesn’t have this that I can see.

2 Likes

“Skadoosh?”

1 Like

Also, @evansd2, you need to post that in the tips and tricks or hints and tips or tips and tutorials or whatevertheheckitis section!

3 Likes

It’s roughly equivalent to “whoomp there it is”.

3 Likes

I started off thinking I’d do it in sed, then decided to switch to awk, but ultimately you get finer control (with structure that makes more sense to me) in php or perl for something like this.

You can probably do it in JavaScript or ruby or even (if you’re feeling frisky) brainf*ck, it’s not doing anything too complicated.

2 Likes

Dunno. Never used the polar alignment thing. I’ll have to go look at it sometime, but so far tiled clones seems to be all we need.

2 Likes

Wow, no love for Python? :wink:

2 Likes

I got what you got at first but the transform widget would rotate each text by the same amount until they are pointing correctly

I need to explore clones in inkscape I guess to see what can be done.

If someone skilled in python in inkscape could manage a most useful command of taking a selection and making all the points the same distance spread out along that section of line.

Blender has it and it is very useful

2 Likes

This is pretty easy to do using the alignment tools. Have you played with them?

An Inkscape plugin would be handy, eh? :slight_smile:

I’m pretty sure no plugin is needed. Node addition tool and alignment tools are super capable of dividing a path and or aligning things within constraints. If rbtdanforth wants to explain exactly what he’s trying to do, I can be more specific.

When you have a complex curve in Blender the is a plugin (now automatically added) called " Loop Tools" that are amazingly useful. Most are 3D mesh relevant but one will take a line with very irregular spacing. (Say with ten nodes) Identify the location at 1\8 of the way and a quarter etc, no matter how the line twists and tuns and then moves the points to those 3D positions. Quite often several points will be on top of one another and this will separate them out evenly over the range noted by the first and last node picked.

Doing so could alter the shape where there was a lot of detail but in those places one does not do so, more often the smoother run is an improvement.

A variation of the idea would be for the computer to look at each node and where the angle was close to 180° just remove those nodes. There is a reduce nodes command but it is very brutish.

1 Like

Interesting. I’ve never had to do that.

Here’s a post that has a fairly clever way to do it, but it’s not too simple or easy.

http://www.inkscapeforum.com/viewtopic.php?t=12058

Scroll down the post by druban that uses pattern along path.

Gets the idea but if we are talking a piece of a complex design that you might grab a dozen nodes and want them spread out evenly between the first and last node then “pattern on a path” I don’t think of as a way to go.

Right, this would inject new nodes. So your originally unevenly spaced nodes would still be there, as well as your newly “pattern along path”'ed modes.

Hmm this looks fairly workable, but again, not exactly as simple as you’d like.

http://www.inkscapeforum.com/viewtopic.php?t=32190