Surface from Network of Curves

Hi, I need to create a single surface (cannot be a polysurface) that has the shape closest to this, I am using the curve network function, however, it makes one half correctly and a twisted other half of the curvature, I have tried flip and rebuilding the network also and it hasn’t changed the outcomeNetwork Curve Surface.3dm (3.0 MB)

Hi @brittanymark.77,

What geometry did you derive the curves from? Is this related to your previous post about box morphing? If so, you could quite easily apply that workflow to a mesh.

Since, this is a rather simple shape, you could always model the mesh (or surface) by hand. The only thing you need to pay attention to, is the edge/face flow, and to use only equally sized quads, because each quad would accommodate a morphed object later.

Yes it is!!! when I can create a surface that works fine in that previously workflow, but when I use the mesh twisted box the structure is being morphed to irregular triangles as opposed to a globle or patch style morph. If i could get the mesh to morph as nicely as the surface, then there would be no need to make the curvature above a surface, and obviously mesh would allow for more complicated inputs. Im not sure what the best option is? Thanks

but when I use the mesh twisted box the structure is being morphed to irregular triangles

Because your mesh has triangles. It just follows mesh faces. @diff-arch is suggesting to just make a quad mesh. I suggest you take some time and study some generic modelling method basics (surfaces, meshes, topology, etc. before jumping into more complex things).

Take a look at this head, it is all quads.

1 Like

Yes, that’s why a quad only mesh would work best for your rectangular module and using MeshTwistedBox. By “patch style morph” do you mean that the twisted boxes correspond to the mesh faces?

It all depends on your workflow really, on what you want to achieve, and what the final model is for? If you need super high precision and fidelity for production/manufacturing, you’d be better of with Nurbs surfaces (for the base surface and the mapped model). If this is more of an experimental, prototypical model, meshes would be fine too, faster and would allow more freedom.
Each method brings different properties, advantages, and inconveniences really.

I don’t mind if it is meshes and slightly lower quality, however, the surface won’t quad mesh without trianguar seams. Yes i mean the structure needs to fit to the curvature with the twisted box without being skewed by the triangles in the mesh currently

however, the surface won’t quad mesh without trianguar seams

Not everything needs to be automatic is the point. The best results come from a carefully planned (and often modeled) base object. Automatic mesh conversion is usually junky (but you could try the quad remesher in Rhino 7 WIP)

1 Like

If I understand you correctly, you’re converting a Nurbs surface to a mesh, which leaves you with a (partially) triangulated mesh? And this isn’t ideal for morphing boxes with rectangular profiles onto?

Since you have a rather simple base geometry/surface, it’d be easier to remodel it by hand, in order to get a neat and tidy quad mesh as already described above! Take a look at Michael’s screenshot for an example of this.

Now, I’m not an anatomy expert, but here’s what I came up with:

The Model is not perfect, but should serve as an example!
I’ve modeled this quickly in Blender 2.83, since - despite SubD modelling and other improvements -, Rhino 7 WIP is still a rather shitty modelling tool in the traditional sense (compared to Blender, Maya, Modo, etc.).

Here are the OBJ and BLEND files, if you’re interested:
helmet.obj.zip (3.9 KB)
helmet.blend.zip (135.1 KB)

Now, in Grasshopper, before you apply your entire box morphing workflow, you can subdivide the mesh with Catmull-Clark subdivision (or whatever), to get a smoother version with more faces to morph to. This is similar, yet not the same as dividing a Nurbs surface.

Here’s the Grasshopper file:
subdivide_mesh_example.gh (11.4 KB)

You’ll need the Weaverbird plugin for this to work, although there are many other plugins that can subdivide meshes too. If you for instance only want to subdivide without smoothing, you can use Refine from Kangaroo 2 instead.

1 Like

The Quadremesher in rhino 7 WIP may work for you.

Do you own rhino 6?

Hi thanks, I have managed to sort this alot since last time you helped me. The final problem I am having is separating the output bodies into two groups as the input is. I wish to have the two input meshes separate in the output, but right now it is combined to one mesh?

Use Patch

1 Like

@anon39580149, you’re a little late to the party! :wink:
I guess this particular issue was already discussed ad absurdum above, and we came to the conclusion that using a quad mesh would be best, since the goal is to populate it with twisted boxes.

@brittanymark.77, could you upload a file? It’s hard to judge from some screenshots and this was more than 3 months ago? :sweat_smile:
Furthermore, do you want to separate the initial components of each indivdual module?

Maybe help anyone in future :wink:

seperate bodies.gh (21.0 KB)

Sorry, I only require the two meshes (two groups making up the unit) in the input to be in two separate meshes in the output. Thanks

Got it, but you need to internalize your mesh data before uploading the Grasshopper file! The geometry is missing!

seperate bodies.3dm (5.6 MB)

Fortunately, the different parts weren’t combined into a single mesh, but rather organized in a data tree, where each branch holds all separate parts of a single module.

Separating them again is pretty straightforward. Since you know the list length of your Y-part, you can use this quantity to split each branch at the right index to divide the Y- from the I-parts.
Now you have a tree with Y-parts per module in each branch and one with I-parts per module.

seperate bodies updated.gh (22.8 KB)