0
$\begingroup$

I need to add cylinder coaxial to randomly oriented edge of the mesh, aligning its top and bottom with the vertices. It looks like I need to add cylinder, previously aligning 3d cursor position to one of the vertices and aligning its orientation to normal coordinates of the object, built as a copy of the edge, coinciding with it. Aligning the position of 3d cursor is easy, but how can we orient it in the necessary way?

This is what I have: enter image description here

This is what I need: enter image description here

$\endgroup$
2
  • $\begingroup$ Hi. It might help you to get an answer if you could add an image to your question showing what you have and what you are trying to orient the 3D cursor to. $\endgroup$
    – curious_1
    Commented Feb 20, 2023 at 0:02
  • $\begingroup$ Thanks for your attention $\endgroup$ Commented Feb 20, 2023 at 17:53

2 Answers 2

0
$\begingroup$

Unfortunately, Blender is not very good at precisely orienting 3D cursor or object origins. It's probably possible with python, but I don't think there are any user-side tools to rotate the cursor. Here are a couple possible workarounds:

  • Select an edge that points along the intended Z direction
  • Press Shift+Num1 (or View > Align View > Align to Active > Front)
  • Create your cylinder, and choose Align: "View" instead of "World"
  • To reset the skewed viewport camera, press (e.g.) Num1, then exit to perspective

or:

  • Select an edge that points along the intended Z direction
  • At the top-center of the viewport, create a custom transform orientation *
  • Create your cylinder
  • Align it with Object > Transform > Align to Transform Orientation
  • Rotate it around the edge's X by 90 degrees (R, X, 90, Enter)

*Note, this points Y along the edge. A face orientation would instead point Z along the face's normal

$\endgroup$
1
  • $\begingroup$ Thanks a lot, @chedap, I'll try $\endgroup$ Commented Feb 20, 2023 at 23:14
0
$\begingroup$

Something else that should work.

Select the vertex and move the cursor to it with Shift->S->Cursor to Selected.

Open the sidebar either under the View menu or with the N key and select the View tab: enter image description here

In the 3D Cursor area there is location and rotation data for it.

Copy the Rotation data from the Object Properties tab and paste it into the 3D Cursor Rotation axes. Don't just enter the numbers seen in the Object Properties tab, because they are rounded off: enter image description here

Set Transform Orientation to Cursor: enter image description here

Add cylinder. I can't remember what the box is called, but in the box in the lower left of the viewport set Align to 3D Cursor: enter image description here

Rotate cylinder on Y axis 90 degrees:

enter image description here

Another way is to select the edge, instead of the vertex and repeat the above steps. This puts the cylinder origin in the middle of the edge.

$\endgroup$
3
  • $\begingroup$ If you already have a known rotation to align to, the easier way is to enable and use the "Align Tools" addon that ships with Blender. But I think the question is rather about placing a new object on something like a pipe that bends around and doesn't have a main direction, so we have to go off of an edge. $\endgroup$
    – chedap
    Commented Feb 21, 2023 at 8:59
  • $\begingroup$ Copying vectors can also be streamlined by simply selecting both objects with the donor active, then right-clicking the field and selecting "Copy All to Selected". This transfers all three axes at once. $\endgroup$
    – chedap
    Commented Feb 21, 2023 at 9:01
  • $\begingroup$ Your help is precious. I do appreciate it, the problem is solved. $\endgroup$ Commented Feb 22, 2023 at 6:03

You must log in to answer this question.

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