# How can I twist part of my mesh into a Möbius strip shape?

I have this basic shape, made from two cylinders, and I want to know how I can twist the curved path, highlighted here:

Rather than curving the whole path, I only want one small 180° twist on the highlighted portion, similar to this Möbius strip:

Is there an add-on that I could use for this, or, if not, how would you go about it? Right now, I'm pretty stumped, I tried splitting it into two parts and using proportional editing, but it ended up being very messy, though I could have been doing something wrong.

Also, I should mention that, after this, I want to add a "Subdivision Surface" modifier, and maybe 3D print it, so it's important to have clean, efficient topology.

Rather easy to make.

1. Select an edge loop that is running across the width of the circle ridge, with AltRMB , then press V to rip it, RMB or Esc to cancel the transform. (You now have eight vertices in the same spot where the original four use to be.) Don't change your selection

2. Turn on Connected Proportional Editing AltO, or in the 3D view header use the Proportional Editing button.

3. Press RY 180 now before confirming the rotation use the mouse wheel to change the falloff of the proportional editing. You do not what too many other faces to turn, but you need a few.

4. I found it looked better when I moved the edges in the turn up a little bit. It Keeps the twist more balanced.

5. AA (to select everything) then W > Remove Doubles because you still have two sets of edges in that original spot.

If you've gotten this far, the modeling should be done, but it will look really bad.

A Subsurf modifier is all that is needed to fix it, but first set the Mean Crease to one on all the edge loops along the curve. (The object in the image in your question already has this, so you can skip this step.) You can quickly select them all in edge select mode with AltRMB and holding shift for each one after the first. Then in the properties panel (N) under the Transform section you will find the Mean Crease value.

The whole process is in the gif below.

• A similar approach is to delete the edges and faces connecting to a minor ring of four verticies. You can then change the viewpoint so you are looking down the center of the major ring, then rotate the first face of the ring by 45°, the floating ring of vertices by 90° and the 2nd face by 135° before reconnecting everything. (I had to do this for surfaces.gotfork.net/project_album/slides/… in a much older version of Blender). – ARM Aug 10 '17 at 16:54

I would do it like this:

1. Duplicate the loop at the center of the "highlighted portion".
2. Remove "portion", keep loop, add face to loop, rotate face (Individual Origins) by 45° around face's y axis.
3. Remove face, keep loop, and use Blender's built-in Bridge Edge Loop twice. (I think one always needs Twist 0, second Twist -2. Number of Cuts is 1 for both obviously...)

• This solution is very elegant, however it doesn't work if the section is not regular (for instance if flat along z). – lemon Aug 11 '17 at 7:47
• You have made a 90 degree twist, but if I understand correctly the question asks for 180 degrees. The top surface should become the bottom surface. – Patdog Aug 11 '17 at 13:23

Some nice solutions here, but why not one more?

The area where the action happens can be separated and then halved again to be rotated 180. After the transform the doubles must be removed for the next step to work...

To help the twisting some extra edges are added and then with Proportional Editing set to Connected, the shape is twisted back 180. The pivot point is established by the 3D cursor set exactly in the middle. After the transform the rest of the mesh can be revealed and the doubles removed.

A Subsurf + Edge-split modifier will help with the visual smoothing of the geometry but a bit more geometry won't hurt. In edge mode the outer edges are selcted and beveled with CTRLB

You can also use custom transform orientations, in order to make the rotations accurately around each section:

• Select each of the 3 concerned edges loops and create a custom transformation for each using CtrlAltSpace (this have to be done first because the orientations won't be good if you transform or rotate the loops before that)

• Then select consecutively a custom orientation, its corresponding edge loop and rotate it around X of this orientation using RXX, then 45 degrees for the first, 90 for the second and 135 for the third

• Remove the last ring
• Reconnect the faces of the last ring
• Set again the crease ShiftE

I ones did something similar with curves: you create your curve and split it at the position, you want the shift to happen. Then you grab the handles (which should be laying perfectly over one another) and set the tilt value of one to 45 degrees and the tilt value of the other to -45. Now you create a square from curves. Either way, if you use a circle and set the interpolation method to "vector" or if you just create a square and convert it to a curve doesn't matter (just hit alt-c and select curve from mesh/text). Now you can set the bevel object on your curve, and it should create the möbius strip effect for you. With this method, you have greater control over the junction as if when you would model it by hand. You can adjust the "steepness" of the junction by subdividing the curve around it, without losing the shape, or just scale the handles if the shape is not that important. you could use different cross-sections, for example, triangles, you just set your tilt values to the appropriate (it should be 360/corners for one and -360/corners for the other) you can play with the values, just make sure they add up to one turn. And you can control the resolution by just setting the resolution value of the curve. When you are happy with the result, just hit alt+c and convert the strip to a mesh.

my file: https://drive.google.com/open?id=0B0_HnTgLksM2ZGVHTV92QWhnLUU (as blendexchange doesn't feels like accepting the URLs I am giving him...)
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 1, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0, "katex": 0, "math-container": 0, "wp-katex-eq": 0, "align": 0, "equation": 0, "x-ck12": 0, "texerror": 0, "math_score": 0.3654058873653412, "perplexity": 1015.9606635605606}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "plain"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "warc_path": "s3://commoncrawl/crawl-data/CC-MAIN-2020-05/segments/1579250593295.11/warc/CC-MAIN-20200118164132-20200118192132-00138.warc.gz"}