# Sofa Modeling

**URL:** <https://discourse.mcneel.com/t/sofa-modeling/26214>\
**Category:** Rhino for Windows\
**Created:** [October 30, 2015, 12:08am UTC](https://discourse.mcneel.com/t/sofa-modeling/26214 "2015-10-30T00:08:48Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![bkjernisted](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/bkjernisted/32/472950_2.png) [@bkjernisted](https://discourse.mcneel.com/u/bkjernisted)\
**Post date:** [October 30, 2015, 12:08am UTC](https://discourse.mcneel.com/t/sofa-modeling/26214/1 "2015-10-30T00:08:48Z")

</div>

Would someone be interested in doing a sofa tutorial? [CGArena - Sofa Modeling in 3ds max](http://www.cgarena.com/freestuff/tutorials/max/sofamodeling/sofa_modeling.html) I modeled the sofa in c4d and would like to learn to do it in Rhino with whatever free tools there are. I own t-splines so it could be incorporated.

 ![](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/a/8/a816fb4019c241ac1ece924ab8286dbcbe0bea44.jpg) I would pay for a video tutorial. Thanks

---

<div class="post-metadata">

**Author:** ![Marc](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/marc/32/494790_2.png) [@Marc](https://discourse.mcneel.com/u/Marc)\
**Post date:** [October 30, 2015, 2:35pm UTC](https://discourse.mcneel.com/t/sofa-modeling/26214/2 "2015-10-30T14:35:07Z")

</div>

It’s the quilted pattern that will be more work, the rest is pretty straightforward.  
They way I would do this is have one surface for all the back, probably using Sweep2, and use this as a FlowAlongSrf target to map an array of lozenge puffy surfaces.  
I just did recently for a seat project, I’ll prepare some example images during the day… stay tuned.

Here it is:

Profile curve

 ![](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/e/a/eaa40286de724dc9d46d251d997514598d9abf96.png)

Rail curve (in this case it’s a better surface with Sweep1):

 ![](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/b/8/b80b9b8fe614c44d055031974454234fa652b4f2.png)

The “Sweep1” surface that will be our target:

 ![](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/5/3/5397ca8343087ca9558d85cb921b363cf8ee5712.png)

Surface from 4 points with the lozenge shape, rebuilt degree three, 7 x 7 points:

 ![](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/8/4/84ba56a367cb423fce934fbef039e657d5d9c7ff.png)

Move vertically the control points, leaving the perimeter ones untouched:

 ![](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/b/1/b1a2588012dd15a078d0c78fccac33bd1c17d3b2.png)

An array of the needed number of lozenges, all joined:

 ![](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/a/0/a03b5526dfc55f20a02dfc318c1e8ba1fcdfc351.png)

A plane covering the usable area of the array:

 ![](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/0/3/03bded9fbd15049df748455c3c153f26e539937b.png)

Rebuilt with the same number of UV points as the target:

 ![](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/6/8/6804ab9bf6120e09f511054da458c08f041a2668.png)

FlowAlongSrf, select the polysurface consisting of the joined lozenges, then the plane and then the target surface. Wait a few minutes and voilà

 ![](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/2/9/29d9131dd5af54eee7bc8998c781ab283f1d5b8f.png)

You can add more finishing to the polysurface before you “flow” it. You could trim the perimeter with a vertical wall and put a fillet, it would the be neatly wrapped on your target surface.

 ![](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/b/8/b82f34b1a079396cebe2b8e1552f37088e8f3d0e.png)

---

<div class="post-metadata">

**Author:** ![bkjernisted](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/bkjernisted/32/472950_2.png) [@bkjernisted](https://discourse.mcneel.com/u/bkjernisted)\
**Post date:** [October 30, 2015, 2:42pm UTC](https://discourse.mcneel.com/t/sofa-modeling/26214/3 "2015-10-30T14:42:56Z")

</div>

Mark would paneling tools work on curved surfaces. If not, would I be able to create my panel of the couch back and then extrude the pattern along a curve or bend it to the shape of the couch back.If it does work on curved surfaces would I be able to chose the front of the back and create my tufted surface with paneling tools? Thanks!

---

<div class="post-metadata">

**Author:** ![bkjernisted](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/bkjernisted/32/472950_2.png) [@bkjernisted](https://discourse.mcneel.com/u/bkjernisted)\
**Post date:** [October 30, 2015, 3:44pm UTC](https://discourse.mcneel.com/t/sofa-modeling/26214/4 "2015-10-30T15:44:58Z")

</div>

Can weaverbird beused in the end to subdivide and smooth the surface? I own t-splines so maybe that is what I will have to use.

---

<div class="post-metadata">

**Author:** ![ec2638](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/ec2638/32/478589_2.png) [@ec2638](https://discourse.mcneel.com/u/ec2638)\
**Post date:** [October 30, 2015, 4:43pm UTC](https://discourse.mcneel.com/t/sofa-modeling/26214/5 "2015-10-30T16:43:34Z")

</div>

Bedsides the quilting, bag of hurt in a nurbs modeler if you **DON"T** want the cushions and upholstery to look like bricks.

Look at Marvelous Designer:

[http://www.marvelousdesigner.com/community/gallery/2296](http://www.marvelousdesigner.com/community/gallery/2296)  
[http://www.marvelousdesigner.com/community/gallery/1738](http://www.marvelousdesigner.com/community/gallery/1738)  
[http://www.marvelousdesigner.com/community/gallery/1728](http://www.marvelousdesigner.com/community/gallery/1728)

---

<div class="post-metadata">

**Author:** ![pascal](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/pascal/32/479395_2.png) [@pascal](https://discourse.mcneel.com/u/pascal)\
**Post date:** [October 30, 2015, 5:18pm UTC](https://discourse.mcneel.com/t/sofa-modeling/26214/6 "2015-10-30T17:18:25Z")

</div>

Here’s one way to get at the quilty bit -

[SofaQuilty\_PG.3dm](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/0/0/00a738bdd5a996c208ac1ed48af8033debbd155b.3dm) (2.0 MB)  
Oh yeah- what Marc said…  
-Pascal

---

<div class="post-metadata">

**Author:** ![bkjernisted](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/bkjernisted/32/472950_2.png) [@bkjernisted](https://discourse.mcneel.com/u/bkjernisted)\
**Post date:** [October 30, 2015, 5:51pm UTC](https://discourse.mcneel.com/t/sofa-modeling/26214/7 "2015-10-30T17:51:27Z")

</div>

Thankyou to everyone. The description and pictures are great! As is the 3dm file. Pascal how did you create your 3dm file? If I have any problems I will post them here. Do you know if I can legally make a copy of this webpage or individual posts. I really appreciate all the help. Cheers

 ![](https://global.discourse-cdn.com/mcneel/uploads/default/original/3X/6/d/6d86d8e996682a07326594cb584d88cf06f380b7.jpg) Sorry the cushion support was hidden.

---

<div class="post-metadata">

**Author:** ![bkjernisted](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/bkjernisted/32/472950_2.png) [@bkjernisted](https://discourse.mcneel.com/u/bkjernisted)\
**Post date:** [October 30, 2015, 6:41pm UTC](https://discourse.mcneel.com/t/sofa-modeling/26214/8 "2015-10-30T18:41:51Z")

</div>

Can weaverbird be used on the mesh to further refine it? I have hardly used rhino so a video tutorial would be great. I have a fixed income (disability- cannot work to make extra income) so Christmas would be the time I would have to pay for it. Any video could be sold repeatedly online.Thanks

---

<div class="post-metadata">

**Author:** ![Marc](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/marc/32/494790_2.png) [@Marc](https://discourse.mcneel.com/u/Marc)\
**Post date:** [October 30, 2015, 7:49pm UTC](https://discourse.mcneel.com/t/sofa-modeling/26214/9 "2015-10-30T19:49:11Z")

</div>

This forum is going nowhere. (Edit: I mean it will not disapear in the foreseeable future!)  
You can get back to it whenever you want and ask any number of questions, there will be people to answer.  
Please strt working on this and ask questions when you encounter a roadblock. This way you’ll learn, as all the community here.

---

<div class="post-metadata">

**Author:** ![pascal](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/pascal/32/479395_2.png) [@pascal](https://discourse.mcneel.com/u/pascal)\
**Post date:** [October 30, 2015, 7:54pm UTC](https://discourse.mcneel.com/t/sofa-modeling/26214/10 "2015-10-30T19:54:47Z")

</div>

> [@Marc](#):
>
> This forum is going nowhere.

Hey!!!

=)

-Pascal

---

<div class="post-metadata">

**Author:** ![dale](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/dale/32/685184_2.png) [@dale](https://discourse.mcneel.com/u/dale)\
**Post date:** [October 30, 2015, 8:02pm UTC](https://discourse.mcneel.com/t/sofa-modeling/26214/11 "2015-10-30T20:02:20Z")

</div>

Hi Marc,

This a really well thought out and presented tutorial. Thanks a bunch for sharing!

– Dale

---

<div class="post-metadata">

**Author:** ![MisterB](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/misterb/32/46656_2.png) [@MisterB](https://discourse.mcneel.com/u/MisterB)\
**Post date:** [October 30, 2015, 8:08pm UTC](https://discourse.mcneel.com/t/sofa-modeling/26214/12 "2015-10-30T20:08:54Z")

</div>

I agree. Thanks, Marc. I learnt a technique new to me reading your tutorial. Your method looks great and although it’s unlikely that I’ll ever need to model a sofa I can think of lots of ways I could apply what I’ve learned. Thanks for taking the time to share.

---

<div class="post-metadata">

**Author:** ![Marc](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/marc/32/494790_2.png) [@Marc](https://discourse.mcneel.com/u/Marc)\
**Post date:** [October 30, 2015, 8:29pm UTC](https://discourse.mcneel.com/t/sofa-modeling/26214/13 "2015-10-30T20:29:18Z")

</div>

This command, FlowAlongSrf, is so powerfull!  
It can be difficult to get the hang of it, the results may be surprising, but when you know how to control it, it’s a lot of fun.  
Changing the reference and target surfaces parameters allows for great control and creativity.

---

<div class="post-metadata">

**Author:** ![bkjernisted](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/bkjernisted/32/472950_2.png) [@bkjernisted](https://discourse.mcneel.com/u/bkjernisted)\
**Post date:** [October 30, 2015, 10:11pm UTC](https://discourse.mcneel.com/t/sofa-modeling/26214/14 "2015-10-30T22:11:28Z")

</div>

I will attempt to get started. Pascal can you give me a short description of how you got the result you did? Thanks

---

<div class="post-metadata">

**Author:** ![pascal](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/pascal/32/479395_2.png) [@pascal](https://discourse.mcneel.com/u/pascal)\
**Post date:** [October 30, 2015, 10:21pm UTC](https://discourse.mcneel.com/t/sofa-modeling/26214/15 "2015-10-30T22:21:08Z")

</div>

Sure - but, Marc’s similar approach is better - he made the quilty things from a single surface, and I prefer that in this case - easier and better results. Which ever way you make the quilt unit, make it in ortho space, so to speak, flat to the CPlane, create your repeated pattern then FlowAlongSrf from from a plane (square in my example) to the target surface, which should be, preferably, a simple smooth surface that is the underlying shape of the quilted area.

- Make one quilt/pillow thing and copy it around to make the pattern
- Use the Dir command to line up the U, V and Notrmal on the base surface and the target surface.
- Click on ‘corresponding’ edge locations on the base and target surfaces.
- If your target surface has unevenly spaced control points, which is likely, then Rebuild a copy of this surface as a temproary target surface - rebuild with plenty of points in each direction and degree 3. The reason this helps is that with unevenly spaced points the UV distribution is uneven as well - it accelerates and decelerates, leading, potentially, to the pattern not being uniform when flowed. By rebuilding to a dense point count, the UV space is made more regular or more even and the pattern will stay more uniform when mapped over. You can then delete the target surface and go back to the otherwise preferable simple one.

-Pascal

---

<div class="post-metadata">

**Author:** ![bkjernisted](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/bkjernisted/32/472950_2.png) [@bkjernisted](https://discourse.mcneel.com/u/bkjernisted)\
**Post date:** [October 31, 2015, 12:26am UTC](https://discourse.mcneel.com/t/sofa-modeling/26214/16 "2015-10-31T00:26:42Z")

</div>

When I choose my 3rd or base surface it only selects the arm section. I joined the base surface after a rectangular selection and then grouped the single base object. It still only let’s be select the arm section. What do I need to do so all of the base surface selects?

---

<div class="post-metadata">

**Author:** ![bkjernisted](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/bkjernisted/32/472950_2.png) [@bkjernisted](https://discourse.mcneel.com/u/bkjernisted)\
**Post date:** [October 31, 2015, 12:29am UTC](https://discourse.mcneel.com/t/sofa-modeling/26214/17 "2015-10-31T00:29:10Z")

</div>

I used Mark’s approach for the lozenge. Still wondering how you created your lozenge Pascal. Sorry I did not explain what I wanted to know.

---

<div class="post-metadata">

**Author:** ![bkjernisted](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/bkjernisted/32/472950_2.png) [@bkjernisted](https://discourse.mcneel.com/u/bkjernisted)\
**Post date:** [October 31, 2015, 12:42am UTC](https://discourse.mcneel.com/t/sofa-modeling/26214/18 "2015-10-31T00:42:56Z")

</div>

When I say base surface I mean the entire sweep surface as in Mark’s third photograph not just an arm section.

---

<div class="post-metadata">

**Author:** ![Stratosfear](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/stratosfear/32/770399_2.png) [@Stratosfear](https://discourse.mcneel.com/u/Stratosfear)\
**Post date:** [October 31, 2015, 6:30am UTC](https://discourse.mcneel.com/t/sofa-modeling/26214/19 "2015-10-31T06:30:06Z")

</div>

If the goal is duplicate this sofa exactly. You are going to need to put in a lot more work.

---

<div class="post-metadata">

**Author:** ![bkjernisted](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/bkjernisted/32/472950_2.png) [@bkjernisted](https://discourse.mcneel.com/u/bkjernisted)\
**Post date:** [October 31, 2015, 2:10pm UTC](https://discourse.mcneel.com/t/sofa-modeling/26214/20 "2015-10-31T14:10:44Z")

</div>

As you can see only the arm gets selected.

[Next page](https://discourse.mcneel.com/t/sofa-modeling/26214.md?page=2)
