4
$\begingroup$

Problem: I'm trying to make a flexible tube follow a path I've made with the Path tool (Add > Curve > Path) but even though I've followed a variety of tutorials I can't figure out why my curve just won't allow a tube to follow it.

What I need it to do: I need to control the movement of the tube down the path, stopping at various points for single renders and animating the full movement at the end. The path must pass exactly down the middle of the tube. Please note that this path is located in the middle of a larger object that isn't shown, hence why it is located high above the grid.

The following image shows the path:

enter image description here

The following image shows the tube in mesh mode:

enter image description here

My current approach: I created the tube by adding a cylinder and adding a series of loop cuts to make it flex when required. I initially tried adding an Array modifier followed by a Curve modifier, and then tried just the curve modifier on its own. But no matter which axis I choose the tube becomes grossly distorted. The closest I can get it is the X-Axis, but even this is not correct, I assume because the path isn't located exactly on any of the axes.

I tried the Follow Path tool, but this also failed. I also tried a Bezier Curve instead of a Path, but no luck. The tube just becomes grossly distorted on all axes.

Your help would be greatly appreciated. I am a newbie, so please be gentle.

$\endgroup$
  • $\begingroup$ Please improve your images to just showing what you need us to see. There is a lot of empty space in your images. Try to minimize some of the empty space. You can show your mesh in edit mode to demonstrate a dense mesh. $\endgroup$ – atomicbezierslinger Mar 26 '16 at 18:34
  • $\begingroup$ Make sure your cylinder and curve have their origins on the same place. $\endgroup$ – cegaton Mar 26 '16 at 19:19
  • $\begingroup$ I set the 3D cursor at the starting vertex of the path and set the origin of the curve and cylinder to the 3D cursor. I then applied the Curve Modifier but the same happens on all axes with it all going haywire. $\endgroup$ – aussie777 Mar 26 '16 at 19:34
  • $\begingroup$ related: blender.stackexchange.com/questions/42591/… $\endgroup$ – cegaton Mar 26 '16 at 19:51
  • $\begingroup$ Thanks cegaton, but that approach creates a fixed cylinder with bends. I need the cylinder to move down the path and conform to the bends for an eventual animation. I am able to create a single path in a new Blender file and attach the cylinder so that it works correctly, but when I apply the same steps to my path above it fails. I'm so confused. $\endgroup$ – aussie777 Mar 26 '16 at 19:59
5
$\begingroup$

One solution is not to use a cyclinder, and use a curve instead.

Add a bezeier circle (add-> curve-> circle) this will determine the diameter of your tube:

enter image description here

Then add a curve and create with it the shape youi want your tube to follow:

enter image description here

Set the circle as Bevel object for the curve:

enter image description here

Then you can animate the bevel factor start and end factors to meet your needs:

enter image description here

$\endgroup$
  • $\begingroup$ Thanks cegaton. I appreciate your help here. The reason I was going with a cylinder is that I need to color it. Think of it like a green hose with a red tip (the cylinder) moving down a flexible wire (the path). I unfortunately don't think I can do that with your option. $\endgroup$ – aussie777 Mar 26 '16 at 20:06
1
$\begingroup$

Problem Solved: Thank you for your help everybody. I solved it the following way:

  1. Select your viewport to one of the general views (eg. Top, Front, Back).
  2. Add a Path and keep it flat to the view. Stretch it out, but don't transform to 3D just yet, or to lengthen (extrude). Keep it basic.
  3. Go to edit mode and ensure starting vertex of the path is selected.
  4. Shift S > Cursor to selection.
  5. Switch the curve back to Object mode and then Ctrl Alt Shift C > Origin to 3D Cursor. The curve origin and 3D cursor should now be on the starting point of the curve.
  6. Create your cylinder and add a number of edge loops (ctrl R). These loops will allow the deform of the cylinder when going along the curve.
  7. With cylinder selected (Object mode) go Ctrl Alt Shift C > Origin to 3D Cursor then Ctrl Alt Shift C > Geometry to Origin. This aligns the cylinder to the Origin, which should be the exact location of the curve origin.
  8. In Object mode add Curve Modifier to Cylinder.
  9. Curve Modifier: Select Object as your Path. This will cause your cylinder to change location on your viewport.
  10. Change Deformation axis to whichever works for you to align your cylinder to your path. Mine worked with "Y".

Finally: Now that you have attached your cylinder to your path you can manipulate your path in any dimension and extrude (in edit mode) and the cylinder will stay connected.

Where I went wrong: I went wrong by creating my path in 3 dimensions first. You need to create it flat, attach the cylinder with the curve modifier, and then move the path in any direction or length you want.

Below is the outcome exactly how I wanted it. I can now slide the cylinder along the path and adjust the paths position and length in all dimensions.

enter image description here

$\endgroup$
0
$\begingroup$
  • Use the Curve Modifier.
  • Paths or Bezier, both function correctly.
  • Know where your centers are for both curve and dense mesh.
  • Align your centers for testing.
    • Keep Track of your centers in Edit mode for Curve and Mesh
    • Make your center point align to the starting point of curve
    • Make your center point align to the start of mesh
    • Experiment with different center points later
    • Cursor to Current Selection for Curve Selected.
    • Selection to Cursor for the Mesh Selected.
  • Try a simple case first.

enter image description here

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.