1
$\begingroup$

I really have no idea how to better word the title. I am on my second day with blender and im trying to rotate a C-arm (X-ray equipment) to model real world equipment. I can manually animate the motion by adjusting rotation then compensate with location to keep the c-arm "anchored" to the "track" since it isn't a perfect arc. I attached screenshots to better demonstrate my dilemma. Is there a constraint that will keep it attached to its parent object's surface as it rotates? or is there a way to link rotation and location transforms together?enter image description here

$\endgroup$
2
  • $\begingroup$ What I understand is if you rotate C-Arm, you want C-mount to stick to it. Then you want to be able to rotate C-mount as if it slides along C-arm. Am I understanding it correctly? $\endgroup$ Commented Apr 1, 2020 at 19:50
  • $\begingroup$ The C-mount is fixed to the boom that reaches towards the "ceiling." so it is restrained to lateral rotation at a pivot point set to the boom. A real C-Arm is mechanically rotated by the c-mount along it's track. so the two surfaces must maintain contact at all times. here is an example of the geometry of a real c-arm. researchgate.net/profile/Daniel_Ruijters/publication/51530658/… $\endgroup$
    – E. Shoe
    Commented Apr 4, 2020 at 16:09

1 Answer 1

0
$\begingroup$

Ok, to start, I've created a quick (and not terribly accurate) recreation of an area of your model;

enter image description here

And we'll say I want to move the object on the left in a way that it follows the shared curve in the middle. The quickest way I know to do this is to set the origin of the object to an appropriate pivot point, then simply rotate the object.

Setting the origin

Go to object mode and left click in an area you want to pivot from (this is a bit of a guess at this point);

enter image description here

Set your pivot point to "3D Cursor";

enter image description here

Now hit r and move the mouse, see if the object moves as desired;

enter image description here

No no, that won't do. How about;

enter image description here

Yes, much better. Check the full range of desired motion;

enter image description here

Ok, this will do. right click to stop rotating (or ctrl+z to bring it back to where it was if you confirmed the rotation).

Now, hit space (or F3, depending on your hotkey settings), and search for (and select) "Set Origin";

enter image description here

Then select "Origin to 3D cursor";

enter image description here

Now set your pivot point to "Active Element";

enter image description here

At this point, you can hit r and rotate the object on that point, regardless of where the 3D cursor is;

enter image description here

Technically, you don't need to set the origin

You could pivot on the 3D cursor without setting the origin, but setting the origin allows you to move the cursor around and not have to find the optimal pivot point every time.

$\endgroup$
4
  • 1
    $\begingroup$ instead of guessing when setting the 3D cursor with Shift + RMB, would be better to use a cube or other meshes' vertices/edges to snap the 3D cursor. $\endgroup$ Commented Apr 3, 2020 at 15:29
  • $\begingroup$ Indeed. One way I do this is by creating a circle or sphere, and using it for measurement. I should update my answer, but I need to wait until I have a moment to do it. $\endgroup$ Commented Apr 3, 2020 at 15:59
  • $\begingroup$ The issue with this solution is that it requires a perfect arc. The c-arm uses a more elongated arc. that's why it becomes unaligned as the c-arm rotates further. Also, in your example the pieces should be flipped. The object on the left would be the mount/track that rotates the object on the right. $\endgroup$
    – E. Shoe
    Commented Apr 4, 2020 at 16:07
  • $\begingroup$ Not that this is required for blender, or even this forum, but; If you have two objects moving along each other, and they're both curved but not perfectly round, and neither of them are pliable... that can't happen in reality. There are a number of ways to warp things along a path, but is that what you want? $\endgroup$ Commented Apr 4, 2020 at 16:29

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .