I’m modelling a ship hull based on original drawings. The hull is divided into 25 stations which I have drawn in Rhino using single span curves. Everything in my drawing is single span degree 5. All the curves are G2 matched and look great when looking at the curvature graphs. When using Edge curves to create surfaces I get smooth degree 5 surfaces with good looking isocurves and point distribution.
However, as soon as I match the surfaces with each other using curvature I run into issues. The end result shows creases instead of smooth transitions. This is only a problem towards the bottom of the hull. See the pics below which shows the bottom of the hull matched to curvature.
What can I do to get rid of this problem? Thanks in advance!
Oh you wanted to see the surfaces. I deleted them because I was not happy with the result. Lofting between these curves seems to generate what I am looking for so I will give that a go and see what I can end up with. I appreciate you taking the time.
Funny enough just writing a post like this makes you think of solutions you had not thought of before. I have only been using Rhino for a week and the concept of single span is equally new to me so I am still learning surfacing. Maybe not the easiest of projects to start with but I like a challenge.
What you’re seeing has nothing to do with how nice your station curves are, it’s still basically impossible for you to have perfectly drawn them such that the surface won’t have waves between them, the precision required is infinite, it has to perfectly follow the math of how NURBS surfaces curve, not how the design you’re trying to loft looks.
You can try lofting or whatever with history then tweaking the stations, breaking it down into smaller sections that are easier to individually control, or–and this is my preference, though I’ve only worked on one or two actual hulls ever, but it’s a lot more Platonic-ideal-NURBS-logic–manipulate a nice fair SURFACE to hit the required stations within acceptable precision, not the other way around.
Using geometry from existing documentation or from desired sections shape as input for loft is not a perfect solution. It is very unlikely that you will get good quality result. I would suggest use that geometry as reference and model shape from the beginning.
For referencing you could try to use point deviation function command,
or you could try instead my Hull Shape Assistant plugin which in realtime shows distance of edited polysurface face from reference geometry.
@JimCarruthers I have come to understand that is the case. I’m learning more and more about NURBS as I work with Rhino. I have considered manipulating a surface to hit the stations but I find it very difficult to get it to match the known figures of the hull, i.e, moulded depth, breadth, height of sheer, etc. It becomes an issue of accuracy and in this case I don’t want it to just look right, it also has to be exact.
@mlukasz87 interesting. I’m quite new to this and I had a quick look at your plugin. It seemed to me that you select curves similar to what I have drawn in my file and then you get a poly surface out of it. Is that correct? What goes on behind the scene that makes it different than lofting?
The thing is your “known figures” are not actually exact, and there’s no way they are 100% correct to just be able to loft a surface through them all and have it work perfectly(unless they were generated from a surface.) If this is a ‘reverse engineering’ task, is the real thing even actually that fair? So something’s got to compromise somewhere. “Lofting a bunch of sections” is just now how clean NURBS geometry is made. They don’t loft iPhones or cars. PointDeviation is handy to tell you how your tolerances are working.
What is the original design intent? Think about how the original designer developed the hull.
If there’s a flat of side and a simple arc bilge radius, G2 continuity will actually not be the correct way to model the vessel. If there’s a flat of bottom, model the flats then a few of the bilge radius curves, then sweep2 the bilge radius…for example.
It really isn’t possible to recreate a perfectly fair surface from existing hand drawn lines. A suggestion; in as much as the vessel is nearly prismatic in it’s aft area, try reducing the number of stations and loft the remaining.
There is not advantage to creating a rectangular set of single span curves with the edges between two adjacent spans defined by the same curve. Instead loft all the curves at the same time and create a polysurface. If you absolutely must have single span curve then use ConvertToBeziers to obtain single span surfaces.
I realize the advice to not always use single span surfaces goes against the dogma found in posts and videos here and elsewhere. Please note that I am not suggesting there are never advantages and reasons to use single span surfaces; just that in this situation single span surfaces are not needed and are more difficult to edit than the equivalent polysurface.
I fully agree. Sometimes keeping everything as single span is not worth it. Specially when technological aspects are important. Very often for a ship, shape tangency is more than enough, and hull resistance profit for single span is negligible.
You have all given me much to think about, try out and dig into further to learn more. I really appreciate everyone taking the time to elaborate on this further. Thank you.