Need help understanding surface topology for carved top guitars

I’ve been working on a complete guitar model in Grasshopper but I’m having trouble creating a closed surface for the guitar top with all of its arching contours.

I’ve tried joining several networked surfaces together but the join always fails to make a closed surface.

I strongly suspect that my lack of understanding of the topology of the surface I’m trying to create is holding me back.

I’d like to be able to use one network surface for the whole top but I can’t come up with a curve network that satisfies the requirements of the network surface component without separating things into sub areas. Then when I try to join those sub surfaces at their edges the join fails.

I also have the T-splines plugin and would like to be able to use that, but similarly I have not been able to come up with a curve topology which works and conforms to the shape I’m after.

I’m attaching an example file of the curves from which I’m trying to build my surface. I’m hoping to receive some suggestions and guidance for creating a smooth continuous surfaces which conforms to the arching curves well and matches the outline curve perfectly.

Any help would be greatly appreciated :slight_smile:

Guitar Arch Topography problem.3dm (42.8 KB)

Hello,

Have you ever build a guitar model in pure Rhino? If not, you should do this first in a complete manual approach.

I’ve tried joining several networked surfaces together but the join always fails to make a closed surface.

Surface modelling is not so easy. You simply can’t build a shape only from Network surfaces.

I strongly suspect that my lack of understanding of the topology of the surface I’m trying to create is holding me back.

Yes, this is the main problem :slight_smile: , the other is that Grasshopper lacks tools for free form surfacing. Generally seen, you start with the biggest and less curved surfaces, blending them and the end filleting them. The vital part of modelling is the so called “patch layout”, defining where the surfaces are located. Its not about strict g2 transition, its more about the play between surfaces, since even matched surfaces can look weird. Base surfaces should have g0 matching if possible. Then Blending them works very well. They also should be as simple as possible. Always crown surfaces, with similar strength, in order to have good curvature. However better start simple, uncrownd with g1 and make crowned g2 models as an optimisation.

I also have the T-splines plugin and would like to be able to use that, but similarly I have not been able to come up with a curve topology which works and conforms to the shape I’m after.

T- splines are easier to handle with Grasshopper (since you don’t need to care for matching, blending etc.), but its harder to exactly express what you want. You also won’t get the same quality out of it. But if you have it, take it. However, t-splines works very well without Grasshopper.

If you need a professional freelancer, doing high quality surfacing in Grasshopper you could pm me and I establish contact to an very good one.

1 Like

Thanks for your reply TomTom.

I have built my guitar model in pure Rhino, but I need the parametric abilities of Grasshopper to make adjustments to the model based on small specification changes without having to re-draw the model again.

I have had the best success so far by dividing the surface into 4 areas: the lower-bout (the largest round area at the left side leading to the waist,) the upper horn, the lower horn, and what I think of as a “shoulder” area in the middle which contacts all 3 of the other surfaces and blends with them.

I’m currently using network surfaces in Grasshopper for all 4 of these sub-surfaces (though I’ve also tried Patch) and the results are very good, except that the edges are not perfectly matched and thus I can’t make a solid brep within Grasshopper. I can make corrections in regular Rhino, but that defeats the parametric advantage of using Grasshopper which will be vital to my production process.

Your comments are much appreciated and make me think that I’ve been experimenting in a good direction.

I’m not familiar with the “base” and “crown” terms which you are using. If you have a moment to explain them or point me to a reference that would be very kind. :slight_smile:

Also if anyone has any suggestions for resources for me to better learn about topology layout for such sculpted surfaces that would be fantastic.

well Imagine a simple cube. A cube has 6 base surfaces, connected with position continuity (G0) forming a cube. Now since you don’t want lego like shapes you add curvature to the base surfaces, by adding control points and moving them normal (crowning). You now begin to apply fillets with g2 transition (more a blend as a fillet) because you want fluent connectivity. The rule here is simple. Describe your shape as simple as possible but as much as needed. Build the “base” or “theoretical” surfaces first and then build the transitions in between. In the end you build corner surfaces, the most difficult part. Simply creating a curve network doesn’t do the trick at all. However with average knowledge about grasshopper and no additional tools you won’t be able to create these shapes. However you could try to stay “flat” and build the theoretical surfaces in grasshopper. So you create very simplified guitar. You could also use t-splines for this, but I think controlling it by hand is much more controllable and I doubt that a parametric approach is faster. Because in the end, fixing the parametric outcome is the same amount of time as doing it manually. Using Grasshopper in my opinion makes only sense for very repetitive tasks, patterns in general and very simple shapes. I consider a guitar as a more complex shape. Its not impossible. As I said, I know someone who is able to do this, but this guy has made on tools. You can also check out Advanced Surface Tools on Food4Rhino, which gives some features, but its in a very early stage with a lot of error. I personally don’t see a sense in doing such objects in Grasshopper. The same reason parametric modellers like Catia and Creo are not used in product design. Fixing takes longer as building it right from the beginning.

1 Like

True. As you pointed out, the point with doing things programmatically, with GrassHopper or in plain code, is repetitive tasks or when things may scale in part or as a whole, or variations that can be defined with code or parameters.

For example I’ve done complex hybrid axial/radial bearings with GH, which would have been much easier to draw “by hand”, but a requirement to be able to make different unique dimensions depending on other factors, a GH solution was a better and natural choice (GH can redraw any new variant with different dimensions in no time).

Being able to make variants doesn’t seem to be of importance in this case though(?).

// Rolf

1 Like

Ah ok thanks very much for that explanation TomTom. I see how those base and crown terms work and the workflow process you’re describing. Makes sense.

I will definitely check out Advanced Surface Tools - thanks for that suggestion! There are just three problematic surface edges in my Grasshopper definition that are holding me back and it looks like AST might allow me to manipulate them.

The complex surface that I’m creating for my guitar top is a relatively subtle bending or “arching” of what would otherwise be a completely flat surface. The outline (outer edge) of that flat beginning surface is already defined and I’m trying to create the arching with as few guiding curves as possible. I suspect that if I could successfully use T-splines to create the surface I’d learn a lot about the minimal curve topology needed to get the result I want.

Thanks for your reply RIL. I can see why both you and TomTom are questioning my use of Grasshopper in this situation.

What I haven’t explained previously is that my design and production process requires a very high level of customization and most of the end product instruments will have a unique set of specifications.

It has taken me about 3 years to produce a completely parametric Grasshopper model of my instrument but now I can change specifications at will and the entire instrument regenerates. This saves me huge amounts of manual drawing time and is well worth the time spent working within Grasshopper.