Positioning objects around a pivot point (angle and distance)

I have a bit of a strange request. I am trying to create a scene to simulate double and multiple star systems - and i’m trying to find an easy way to position the stars in the scene.

The data for these stars is given relative to the primary star. That is - you have a parent star assumed to be at the origin - and any secondary, tertiary stars are given a distance and angle from the parent.

What I therefore need is to rig a sphere at the origin. Then I need 2 or 3 more spheres that I can position based on distance and angle from the origin (the spheres will represent the stars)

I’m imagining it almost like a clock face - with the primary at the centre and the other stars at the ends of the hour and minute hands…but I need to be able to vary the angle and length of the hands precisely (i.e. using numeric input) without scaling the spheres.

Can anyone help. Thanks

if you mean a script
might be better to ask it in python forum !
and can you feed the data in a file - would be way faster then manually entering the data

happy bl

I’m not looking to automate this with a script - I dont mind setting the values manually. Take a look at this screenshot I have just mocked up.

I have set this up so that the cylinders pivot at the centre sphere so I can rotate them manually from the pivot point and scale them along their local Z axis (length). This is the easy part.

What I am missing is how to attach the red spheres to the end of the cylinder so that the red spheres move with the end of the cylinder. I could group the red spheres with their corresponding cylinder - but then they would scale (and therefore stretch) as I scale the cylinder. I want the spheres to move only (not scale).

(obviously when I render I would make the cylinders invisible).

Ideally after scaling the top cylinder and rotating the left side one, the spheres should still be stuck to the ends of the cylinders.

don’t remember able to do things like that !
this looks more like a script
but still need to add data for distance and angle for each one
I can try to make a little script with an operator where you adjust values then press operator to add it near cursor
or do you need to locate 3 objects also at a specific location too?


Just been googling and found a solution - little bit convoluted - but it will work.

  1. Parent the objects using ctrl-p (making the cylinder the parent and the sphere the child).
  2. Select the parent - scale and rotate it as appropriate (the sphere will move and deform based on the scale etc)
  3. With the parent - apply the transformation (rotation and scale) using ctrl-a
  4. Select the child and clear the transformation using alt-s (the sphere will then revert to its original shape but in the new position.

What about just putting 3d cursor to origo, pivot point to cursor and activate “Manipulate center points” (Alt+,). Then scale or rotate selected balls.

That works too - and much cleaner/easier

brilliant, thanks.