Simple sweep1rail mega Twisted why and what to look for?


3dm attached.

two profiles and one rail go mega twisted with sweep1rail.

what does one look for to find cause, please state what commands to run to fix such occurrences.

What is wrong in this particular case ?

I have many profiles, these are just two of them. So will face this again I reckon.

Sweep1rail_twisted.3dm (30.0 KB)


Steve, those curves are WAY too complex. Multisegmented, high degree.
Try rebuild to get simpler curves.

Yes, the rail is not the greatest but the profile curves are a complete mess. Turn on curvature graph for those and treat yourself to a nice abstract art piece… Then try rebuilding all with something like degree 3 and 9 points…


I have to agree with ChrisK, those curves are horrible. You need to use rebuild or fit to simplify them. You’ll get the best results if your section curves (blue) match in terms of degree and CP count. As a general rule, the more simple your curves are the better the resultant geometry will be. Of course rebuilding them will change their shape, only you can decide how much deviation from your original is acceptable.


Are we saying that such manic twists are due to curves not being ultra smooth ?

They looked smooth to the eye, rhino expects technically smooth or twists.

My curves must go through dimensioned locations though. Following aircraft plans and mustnt deviate, unless I spot an obvious error.

Looks like my base curve was with shallow V causing 90% of the problem.

I tried for a straight line at bottom and what a difference !.. no twisted.
so looked further there and there was a smooth curve then a straight line but a V kink at the junction of the two.
used line tan to curve to smooth things out and a lot better.

I have introduced an upper rail from the aircraft which has a designed S bend in it and I cannot straighten that out easily as that is the shape up there to attain control at the top.

Whilst the research work to get their shapes is enough to kill the average human ! The actual curves were redrawn using InterpCrv, start and end tangent etc, for the best shape and to purify things ! I have been v careful so I thought to draw with the InterpCrv tool decent curves.

I have a shape from photogrammetry, I divide its curve then use curve through points tool to get the starting shape, then follow on top of that with InterpCrv until happy with the location and shape. I have a nice flowing curve, to the eye anyway.

Obviously the human eye doesnt spot subtle S curves but I am surprised such cause mega twistment if they cant be seen with the human eye.

They are all based on original paper drawings with dimensions, dims plotted then InterpCrv drawn through the dimension ends. The curve must go though these dimensions. It all looks smooth as I plot from dim tip to dim tip.

If I go altering shapes to suit rhino I alter the shape of the aircraft, curves that should intersect then dont, I alter those then somewhere else curves dont intersect. massive tail chase ensues.

Are we saying slight irregularities cause the massive kick out ?

Trouble is the original designers dint understand that for skins one needs lots of rails and profiles, Catch 22, I need the surfaces to generate the profiles and I need the profiles th generate those surfaces !


There’s no way your measured dimensions, whatever you get from photogrammetry, or indeed the actual shape of the real handmade airplane are actually precisely smooth enough to use to generate smooth curves to sweep without allowing a substantial tolerance to smooth things out. You need to use CurvatureGraph to spot waviness and do see if what the curve is doing actually makes sense. If you can’t rebuild curves like that with a handful of points that are precise enough to suit you, then that may be a sign that you need to break down the shape into more surfaces so as to capture such subtleties.

What kind of tolerances do you expect to hold on this? How accurate is your photogrammetry REALLY? Could you hold those tolerances if you actually have to physically produce the parts in sheet metal? (I think not).

You can hold 1mm tolerance over your original curve with 9 points, 0.5mm tolerance with 16, and 0.15 with 25. But the more points you put in, the worse the curve smoothness becomes.


The bad surface results from a problem at the joint in the rail curve near x = 0. I cut out a section of the polycurve 0.1 long on either side of the joint and replaced it with the result of BlendCr with curvature continuity. Sweep1 then produces a reasonable surface with the original section curves.

David, yes thats where I spotted the flaw having used Curvature Graph.
It doesnt take much to upset Rhino I guess.
It came from the eges of two objects designed as separate items originally and obviously the two were not compared to see if they followed through perfectly when joined. I needed a rail and the two parts gave me that. On the aircraft that subtle V would not have mattered at all. as the parts are removable cowlings and on aircraft in use get a lot of bashing.

Jim. Mitch

I shall have to make more use of Curvature Graph.

I shall also need to learn more about how to refine curves.

Is there a tutorial with files we can work with, like class lessons ?

I need to plot to actual original dimensions to start with, and see what they give. Its the expected done thing with those I liaise with for the ‘on paper’ part of the work.

I shall study what they do give, incase there is scope to tweak things.

If Rhino then creates unusable surfaces I shall have to amend the curves keeping that set separate to the theory, as the theory gets sent to those that dont go beyond wireframe and expect curves to sit at ends of dimensions points else I am considered to be sloppy in my accuracy.


It appears that Sweep1 does not like rail curves which have kinks where there direction of the curve is discontinuous. Curvature discontinuities are okay though.

Steve, what output accuracy are you working to? How precise and accurate is the input data?

The input data is everyones worst nightmare, plans that have been copied many times, with what appears to be soot on the glass !
Dimensions created 70 yrs before a pc was invented, aircraft were built using splines and drawing boards and hundreds of draughtsmen and what worked then is not to rhinos liking, two parts where their edges are designed by different people, looks fine on the aircraft but a subtle kink and sweep falls over.

Its bad enough trying to fathom out lousy plans but to have rhino get fussy over 0.1mm kinks.

thousands of hours working on such bad plans, but to face even more time making sure curves are perfect, deviation from the original drawings is not the accepted thing to suit modern CAD needs, I dont mind a subtle kink in my surfaces. The guy with the sheet of metal never bothered 70 yrs ago, and my subject matter sees sandpaper get used and a few seconds and all is good. Having to expend masses of time fixing something so it generates a surface when I am told irregularities are acceptable and can be sanded out…eeek ! It would be ok to have slightly irregular surfaces, that would make life fast and they can be sanded down in seconds. I am having to expend more time than I wish to ensure a surface gets generated when the end result doesnt need such hyper accuracy. However the CAD drawing in wireframe has other uses and must adhere to the original dimensions.


If the plans are that iffy, then why rely on them to a zillionth of a mm? Just draw good curves, it sounds like it’s hard to go wrong.


It appears that V4 deals with such minutae differently, see attached images.

The task is to create what they do indicate, and CAD helps deduce if its an 8 or a 3. Its not acceptable to reinvent something, else when you come to offer it up to another part later on it doesnt fit.

The parts have to fit, its like a jigsaw, everything has to marry together, hundreds of different plans some better than others.

I just wish that whilst I follow ooriginal dimensions, and one plan has clear dims I am working to here, its end result then causes problems simple because the designers didnt have to worry about their dims being such that they caused surface to go manic.

Now I have just put that simple shape that caused this thread into rhino V4, and attached is the result. no manic twisting, same settings, and instead of something that went haywire, I get this. yes a slight gap, but not that crazed leafy effect.

V4 didnt bite me in the bum as V5 does with sweep.


Ehhh what V4 is doing is there is kind of disturbing in it’s own way too.

You’re really in over your head here. It hardly even makes sense to be trying to just sweep1 this one little piece. You need to get some proper training and experience on much simpler models on the basics of how to draw clean curves, how to make clean surfaces, THEN how to apply that to trying to match some 70-year-old hand-drawn blueprints. It’s really getting a little tiresome that for months on end the Rhino support forum has been disproportionately devoted to your project, especially how fruitless it seems to be as you’re still not really grasping a lot of very fundamental stuff, your plan of learning how to do it this way isn’t really working. You should really take an actual classroom class or something.


Was the Sweep1 algorithm changed between V4 and V5

  • or -
    Or is something else causing the differences Steve sees?

These input curves are never going to give a nice surface. If you rebuild to the same number of points and degree as the original curves, you’ll probably get a negligible deviation, iron out the kinks and end up with an acceptable surface. Also, decide what tolerance is acceptable and rebuild the input curves further…

Hope we can see the aircraft when you’ve finished, the snippets we’ve seen are starting to look like a WW2 fighter…

Edit - p.s. if you rebuild the red rail as described here, the resulting surface is identical to the V4 example you posted above.

Part of the reason for the sheared UV curves in surfaces created using the original section curves is that the parameterizations of the section curves are very irregular and different from each other.

When creating curves with InterpCrv or CurveThroughPt use the Knots=Chord option. This results in the parameterization being close to the distance along the curve. For existing curves the parameterization can be rebuilt to close to chord length without significant changes to the curves by using FitCrv with a small tolerance.

Even rebuilding to degree 5 with 6 control points should work fine. 0.9mm dev for the real curve and 1.9mm for the section curves

Fully agree!

Yes that is the one I normally use, I found it best some time ago on airfoil sections where curvature is important. One has to adhere to the dimensions there if at all possible given its role. Some items such as cowlings are not mm critical for performance.

These input curves are never going to give a nice surface. If you
rebuild to the same number of points and degree as the original curves,
you’ll probably get a negligible deviation, iron out the kinks and end
up with an acceptable surface. Also, decide what tolerance is acceptable
and rebuild the input curves further…

Fully agree and have remedied such before seeing this post.
after following Jims first (kind) advice I applied as advised the Curvature Graphs and also have redrawn with evenly spaced and far far less clicks the curves using InterpCrv Knots=Chord. I also redid the base rail curve.

What looks good to the eye and follows original dimensions now needs graphs and point usage analysis to be acceptable, now I understand that. Trusting in what the curve tools deliver isnt enough. W dont get told this in the help on curve tools, its what data they follow that causes the problems.

I dont see anything wrong in trying for a single rail sweep. The command exists. I wanted to see how close to what I wanted, the two frame profiles and base curve were when swept. I dealt with the kink in the base curve and the sweep was transformed ! That base curve was a dupe edge of two separate cowlings which when they were skinned separate never led me to notice that together there was a subtle kink.

I then added in a second upper rail which has two designed S bends in it, the result gave me what I wanted and showed that still without a third middle level rail the resulting skin was bulging out and not as per the real thing. There is no other data for the area and I am having to try and make frames from intersections with skins of my station lines. it can become chicken and egg situation. I need the skin to create the section and I need the section to create the skin !

If someone looks at it and thinks he needs another rail, yes I am fully aware of that, its just that the data for it simply doesnt exist. I have to use all my skills to deduce with a 2 rail sweep where maybe the second rail and shape could be. I do know exactly what I am doing by the way, and work completed is testament to that and also the help received which is not project specific but just use of rhino commands, bug checks, I have spotted a few, and so on.

V4 obviously led me to be able to create sweeps using curves that are unacceptable to V5, thats not my fault, as Jim says, V4 gave me a false sense of security.

what V4 is doing is there is kind of disturbing in it’s own way too

Now that I know about CurvatureGraphs, I can find and fix such for V5 acceptance. I am learning and there is a lot to learn in a short time, coupled with the massive workload to fit in as well for a deadline. There are no tutorials specific to aircraft building as I am having to do. and 1;1 training is massively beyond my pocket and I would expend time training the tutor on this as much as he me ! Its a hell of a jigsaw and beyond the understanding of some. If it were travel, then to go from London to Paris one has to go the opposite direction, then north via the arctic, then head back on oneself then via America and then back to Paris via Spain.

I am also throwing aside the expectation on me that lines must adhere to original dims, keeping that set for that persons requirements/approach, and creating a rhino friendly set for skinning and sanity and forum acceptance. Deviation might be 1mm at most, often less and I am happy to throw in 0.3 or 0.5mm adjustment, enough to make a massive difference and I now do that. What happens then is it doesnt abutt to another part, as both were designed on paper, so I make that part fit the skinning friendly edge as well. A tail chase hopefully doesnt result. . At least my lines and skins now are forum approved, even if they deviate by more than the indicated manufacturing tolerance.

I have just followed another dimensioned drawing of what should be a gentle sweeping degree2 curve and curvature graph shows two let alone one S curves though the human eye cant see them and neither could those armed with splines and pencils many yrs ago ! Not my fault, I now will kill those with the graph etc.

Some work requires high tolerance and other lesser tolerance and a low tolerance job (1mm ok) requiring a 0.1mm kink sorting makes the client think I am over fussy ! However Rhino requires it. All has passed recipients standards for machining.

Very grateful for help received in use of Rhino so far and for exploring the hidden depths of this program. I hope others also benefit from what I hope are intelligent useful posts and not dumb ones.