Furniture modeling

Hello, I’m thinking what 3D software should I use as an architecture designer.
Now my main tool is Rhinoceros 6, but it seems to be not good at modeling furniture with organic creases of a cloth like curtains, cushions, blankets, and so on.
If using polygon modeling software like 3dsMax, it goes better ?
I want some opinions.

here some very fast examples (maybe too fast but it should show you what i mean) how you can actually model with NURBS organically. Really any shape is possible with a few simple tools and a little experience no magic no Polygons (other than the display mesh)

also check out Rhino 7 WIP SubD tools.


Thank you for your response.

Is upper one made by LOFT?
and how is it like Japanese Kotatsu made?(sorry I don’t have experience of modeling soft shapes.)
I mean clothes like below, can it be made by Rhino?

and if you like, tell me what specific differences are there between NURBS and Polygon, if any shape is possible by NURBS.

I’ll check 7 WIP. Thanks.

1 Like

yes upper is a simple loft, lower one was made intuitively did not know Kotatsu before, its made with Loft, Patch, BlendSrf took about 2-3 minutes to create.

but before we climb any deeper into the rabbit hole we should differentiate what exactly you want to create. You titled the topic “Furniture modeling” that would imply rather NURBS and in the description yo write about modeling curtains and cushions etc. which is usually processed for 3d representations only where an exact surface is not needed.

While Nurbs enable you to create anything you would like it might require a bit more experience than just squashing a few polygons depending on what its for, meaning that generally NURBS are being used if you want to have utmost precision in the surface and continuity, while polygons are made out of many approximating straight lines, mostly triangles.

under the line if you produce this for renderings only and the shapes are complex like in that curtain then you can use any kind of polygon modeler which usually have textile simulations and let you produce such shapes pretty fast once you get to understand the process. there are many of such i am sure max has that built in either, i personally use cinema 4d, but also free tools like blender could get you going pretty fast. if you want to play a bit there are some recent topics here regarding grasshopper and kangaroo where @DanielPiker has posted some cool definitions for textile draping.

but if you want to produce an exact real life production drawing of a pillow or a cap, hat pants or anything i would use NURBS again.

2 Likes (42.5 KB)

Here’s a quick go at creating something like the top part of those curtains.

The part in the green box sets up the fabric properties, and if changing the shape you can probably leave this part unchanged. The important bits if you want to model other stuff are the input mesh (which should be made up of square quads), and some attachment points to move to target locations.

See also the examples posted in this thread:


Thank you for kind explanation.
I understood the Kotatsu, its so simple.

Actually, this is my first time I post here.
I’ll be careful to name title and what to make.

That is to say, maybe I should use NURBS when more exact models with accurate dimensions is required; for example, designing a piece of furniture, and it’s more suited to use Polygons when complex visualization with fabric simulations for rendering is required, is it ok?

Mr.Daniel’s textile draping is so interested.
I didn’t know such a way to use Grasshopper and Kangaroo, I’ll challenge it.

Thank you for your response.
The topics you introduced all are so attractive.
You gave me a true way to use Kangaroo.
I’ll challenge it.

that would be the idea, the advantage of mesh is that it all models the same way. with Nurbs as written, you need a bit of experience. But when i think about it again, once you know how to build something with Nurbs, it is actually very fast, faster than with mesh to qualify what i said before, meaning i would rather prefer modeling most of the shapes with Nurbs, if any at all with mesh.

here another quick pillow, Japanese kotatsu style :slight_smile:
hope its not rude to glorify the Japanese flag for your honor.

Hello -
I think the advantage of meshes when dealing with things like fabric, is that meshes can be constrained in ways that imitate fabric - you pull here, and the fabric has to move over there and every place in between so that the dimensions do not change. Surfaces stretch and compress ‘at will’ so mimicicing this behavior depends completely on your eye - knowing how to fake it so no one notices how unrealistic it is. Daniel will have the real answers but I believe any attempt to constrain surfaces in the same way will eventually come back to some mesh-like control where distances between points can be constrained and adjusted in magical ways, behind the scenes.


i am thinking if it would not be possible to constrain uv lengths the same way.

You absolutely can do it in Rhino, but I think for things like fabric you would be much much better off with a poly modeler like 3dsMax, Blender, or probably most ideal Marvelous Designer. Doing that in Rhino seems like a exercise in frustration.

Internally Kangaroo works by moving points around, and the various goals set up relationships between these points.

In theory these relationships could be based on NURBS curves or surfaces formed by taking these points as control points, (and there is even one goal in Kangaroo which does this, for preserving continuity between connected curves) but even some things that are very simple with discrete geometry like polylines and meshes, (such as preserving distances) can get quite complex with NURBS, because distances on the curve/surface don’t correspond so directly with distances between control points.

There is some work being done in the field of isogeometric analysis which uses NURBS for physical simulation (even a Grasshopper plugin - Kiwi3d), but it is relatively new, mainly focused on structural applications, and I don’t think anyone has ever tried to tackle something like cloth self-collision(an essential part of realistic simulation of drapery) using NURBS, whereas a huge amount of work has been done on this with meshes.

thank you Daniel, a ton to learn from you.

i am thinking, even though mesh has a lot of pioneer work done, reformulating that into the NURBS paradigm might not be so difficult? or what does it make so complex? i would assume that the maths behind calculating all polygons to serve as a vector field should be even more complex than “simple” parametric surfaces since you have to approximate the geometry, but i am not a specialist, starting very late to even finish high school degree prior to studying architecture i probably have to apologize for my blatant assumptions :slight_smile:

anyway another idea since we are already talking about a very young approach isometric analysis (sounds freaking sexy tbh) would be to take this idea and bring it into the limit surface paradigm of SubD would that be considerable or even avoidable at all?

One simple way to form-find with NURBS is to just act on the grid of control points in the same way we do for a mesh, controlling distances between the points, and output the surface built from their new locations - this can be a way to get a very smooth surface without a large number of points, but of course the surface does not go through the points except at the boundaries, which may cause a problem, depending on the application.

As an example though of something easy to do in the discrete world that is much harder with NURBS, consider just a polyline where we want to shrink its total length. It’s very easy to find the set of vectors to move the points by which most directly reduces this length, and use these vectors in a Kangaroo goal.
Now consider the same for a NURBS curve - the simple thing to do would be to just use exactly the same vectors between the control points as we did for the polyine to shrink the segments - this would probably work to reduce the length of the curve in most cases (and maybe I should try this goal out), but these probably wouldn’t be vectors which reduce the length in the most direct way, so it wouldn’t be possible to assign consistent material stiffness values like with lines. To do that you’d need a vector based on how each control point affects the length, and calculating this involves the degree, weightings and knot vector of the curve.
Physical self collision of deforming NURBS surfaces seems like it would be far more tricky (and I don’t think anyone has ever even tried) - you’d need to calculate when parts of the same surface touched each other, and then the vectors to move all the involved control points by to resolve the collision.

I do think there is some interesting potential for making more use of both NURBS and SubD within Kangaroo goals. However, SubD doesn’t necessarily make the questions mentioned above easier - how to move the points of the control net to precisely control things like lengths or collisions on the limit surface still involves a lot more calculation than with discrete geometry.

One other place I do currently use NURBS within Kangaroo goals is for the 2d curve collision, but there the curves are treated as rigid objects, and the relative locations of the control points are not changed.

Hello, would you please tell the process of making such a pillow ?

basically what i wrote further above

create a pre surface (first image below) which will help directing the tangency of the pillow when you use patch with the option adjust tangency then patch it. the green curves you create to your likings up and down a bit. start with one, then offset it and use RebuildCrvNonUniform on both that you get a symmetric amount of points which is needed for a good loft.

now you are left with 2 surfaces which you can fill with BlendSrf see that the seams hit each other otherwise it will skew the result. you also may have to adjust the distance of the upper patch and the lower loft that you get a good transition, you can also trim a bit from the bottom of the patch off with a straight line in an ortoghonal view.

use OffsetSrf or mirror on the outer rim, you can also mirror the patch and either blend surface again on the lower part or you just mirror the entire thing.

to close the the open edges you can us again BlendSrf


Really helpful , Thank you so much for your time . I could not see the offset and blend in the first place .Now I got the point . Thank you

no problem, also good technique to make some ravioli :smiley:

:joy: :joy: Exactly I was thinking about the similarities .

1 Like