7

When designing a clock, I moved the rotation point of the text into the center of the clock, then copy/pasted the text and rotated by 30° for each number, like so:

enter image description here

Note the rotation point marked with red.

Now, the bottom numbers (like 6) are printed upside down. I want to correct that by rotating the text 30° back. Because the numbers need to stay in their places, I need the rotation center be back at the center of the text, not the center of the clock.

How do I reliably (not estimated by moving the mouse) set the rotation center back to the center of the text?

I have already tried snapping to the center of an object, but it does not seem to apply for the rotation point.

In the end I want something like this, just more accurate:

expected result

3
  • 3
    As you seem to speak German, here's a link to a guide I made for this purpose: vektorrascheln.de/posts/2016/Jun/… (in short: use Polar Arrangement dialog instead of manually rotating)
    – Moini
    Commented Jan 4, 2020 at 2:49
  • 1
    @Moini: oh, I didn't know that. Nice feature Commented Jan 4, 2020 at 13:00
  • 2
    Not asked, but keep it easy. Draw a star (hold Ctrl to get a straight and symmetric one). Place objects at its cusps. Have snap to cusp and snap to rotation center ON, maybe more snaps if you want different snappings. Rotate nothing which must stand straight. Do not delete the star, lock it and hide it in the Objects panel for possible later need.
    – user82991
    Commented May 25, 2021 at 8:29

5 Answers 5

11

Simply hold (Shift) and left click on the rotation center.

1
  • Wow, this is cool! Thanks. Works for me in 0.92.4 Commented May 25, 2021 at 7:28
10

You can do this using the XML editor Shift+Ctrl+X

Select the object, and in the XML editor, set the inkscape:transform-center for both x and y to 0.

Example

enter image description here

1
  • Sorry for removing the accepted mark from you, but @chraqek has just provided a very simple solution. Commented May 25, 2021 at 7:27
4

In Inkscape, most flexible way I know is to use the "Polar Coordinates" tab, found in the Objects->Arrange dialog. For a clock, simply make your 12 numbers, draw a circle to lay them on, select that circle then shfit-select each number in the order you want it placed on that circle (remembering that Inkscape circles by default start at 3 o'clock). Be sure "Rotate objects" is unchecked, then click "Arrange."

Before

After

I called this "most flexible" because, unlike the Tiled Clones->Rotation approach, this one can place arbitrary, unrelated objects, and also gives you the option to keep them "upright" if desired (by unchecking "Rotate objects"). It also offers more convenience for simple cases by automatically equally-spacing objects w/out having to do the math manually (360/12 for your clock).

2
  • The first time I tried this, all objects were moved to the 3 o'clock position. When I tried again, it worked as described (Inscape 1.1) Commented Jun 16, 2021 at 5:25
  • Neat! I have lost so many hours trying to do things that would be apparently done easily by this tool. BTW, as of Inkscape 1.2 this is now under "Align and Distribute" -> "Circular" Commented Feb 2 at 17:21
2

I figured out that grouping provides at least an acceptable workaround:

  1. Select only one of the text objects
  2. Press Ctrl+G to group the object with itself, thus giving a new rotation point for the group at the center of the single object
  3. Rotate 30° back
  4. Press Ctrl+U to ungroup and thus restore the original rotation point
1

As I understand it, your initial rotation is used to place the numbers at the right location on the clock. Instead of rotating the numbers in the first place, a better approach might have been to place 12 small circles as helping objects at the right positions by rotation, and then put the numbers on these helper objects with adjusting them vertically and horizontally centered. In the end, make the helping circles transparent or remove them. With a unique color selecting all of would be trivial.

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.