To me it seems odd that lofting a series of profiles produces distorted and undesirable results.
However, with those same profiles, if lofting is done in sections of those profiles (broken down into smaller ‘stretches’ of profiles) then simply using the join command after to make a single surface - Works, with no distortions.
The profiles were created in another program and imported as an igs file.
The profiles were created as nurbs - Each profile having the same number of ‘control’ points and created in the same ‘order’.
This is why I believe the loft command could use a looking at and be refined to handle making a loft out of the series of profiles with no issues. I actually had another similar series of profiles and the loft command worked fine (able to create single surface all at once, instead of having to break it down like here).
No, it’s not too many curves.
Going with less curves gives an end surface with a different shape.
Also the result needs to match the originating software(being imported back into source).
But thanks for the insight about the ‘cv’ being below document tolerance.
I was thinking there was a possibility of that happening - and since you said ‘document’ tolerance I’m assuming you saw that from my Rhino file?
And am guessing I can change that tolerance(hopefully).
“Don’t expect much from a single surface”
I don’t know what you mean by that.
I should be expecting the surface to match what I have in the originating software file.
After all my own scripting in that program is able to produce a surface as refined as I am intending to here.
The issue is that program like Rhino, doesn’t do much of a good job on boolean operations on Polygon surfaces/Meshes.(Without necessitating some clean up work afterwards).
However, in Rhino if I keep it from the ‘mesh’ stage and do the booleans first, I find the resulting conversion to Polygons/Meshes results in no flipped or non manifold polygons - so I don’t have to do clean up work.
This particular surface is but a series of profile sections I already ‘broke’ up into segments.
So I will have to check the tolerances and see if I can lower them and keep the segments to a minimum.
so i think the solution that suits to your requirements:
_explode the curves
_split the curves that where not exploded in the overall style / number of pieces.
then loft the those 11 stripes separately
Because the other software can’t create nurbs surfaces from which boolean operations can be done.
“For NURBS 3D surface modelling, there are far too many curves, and the curves are far too dense.”
Actually it’s not too dense.
Using less shapes creates a different surface(I’ve already stated that in my previous post); Meaning at any given point on the surface, the position coordinates would be different from one surface(using the amount of profiles I have) vs. another surface(your suggestion).
If it was just some random organic shape all by itself and the goal is to just give something that looks nice - by all means, the less/more simple…the better.
However, there is more to consider - Like aligning other geometry to meet at specific points(locations), run parallel/tangent at specific locations, etc. all with high tolerances and specific distances.
If I am able to ‘break’ up the use of the profiles - Meaning create a loft from say 3 sets of the same profiles, then join them together, with a complete surface with no issues;
Then that means there is nothing wrong or problematic with the input data being used.
Because Rhino has the wherewithal to do it with the existing data.
It’s just that the loft command can’t do it by itself, which is why I titled the post “Refine”.
There’s no reason, other than other higher programming priorities for Rhino developers have, that it cannot produce a loft from these profiles as I have did.
Excuse me if I may have mislead my post to imply I was seeking a solution, as I wasn’t.
My intent was to put out a post as an implied suggestion that it would be useful to rework the loft command to make it more robust.
I actually came across another example with the loft command that highlights its current shortcumings that could be improved.
And I was able to through extra Rhino steps that doesn’t change the existing input geometry create the end result loft, that should have been able to be done with the initial loft.
If I have time, I will post that separately. And again like this one, it’s not about seeking a solution(I already have) - but more so for demonstrating it can be improved.
If this were a point cloud or mesh obtained in the automotive design process, you would never even contemplate using input like the one obtained from the mystery software. Even with Alias or Catia, I would not touch this with a barge pole.
Since we do not know what you really want to achieve, and for what reason, it is hard to suggest anything meaningful.
It’s very simple what I want to ‘acheive’ - And this will now be my third time explaining it.
So I will again explain it.
Why can’t the loft command not produce the same surface with no distortions when all the profiles are selected, but it can if I use the loft more times with fewer curve sections and just join them after.
You’re still assuming I want a suggestion - I’m the one doing the suggestion.
I suggest the developers refine and overhaul the loft command to be more robust.
Because clearly as I have already shown - the input data does not and has not changed in either case (using one loft command vs, a number of loft commands).
“If this were a point cloud or mesh obtained in the automotive design process, you would never even contemplate using input like the one obtained from the mystery software. Even with Alias or Catia, I would not touch this with a barge pole.”
You don’t have to touch it because it’s irrelevant to my original point. You are making too many assumptions that don’t not apply.
i just want to point out that you are talking to 2 of the most experienced users on this forum, your tone tells me that you dont take information from anyone as valid, maybe its time to rethink your life choices?
despite all that there is one point i might agree on with you that the amount of curves are not too many, but because these are a total mess with cps converging and kinks of all sorts you are definitely expecting way too much from loft.
as you see on this image below the cps are converging to an ever tighter arrangement almost stacking over each other, if you try to dictate the loft fitting algorithm what to do to these extremes it should not come as a huge surprise that the result will be garbage.
also when you examine the bottom ends of these curves that i exploded carefully you will see that you are converging from smooth to kinked to smooth again.
if you come to your senses and rebuild the curves so that you actually allow loft to work like for instance RebuildCrvNonUniform, you get a good surface, but that flattens out your kinks.
a different alternative would be to loft and use the internal cross section rebuild function, set to something high like 150 to follow your kinky shape more closely or open up and use less to make it even smoother.
if you want all the exact awkward non sensical kinks after all then loft has to be done in sections and joined as you have figured.
if you know what you do loft is a good tool, good tools become useless if you dont know how to handle them and even worse if you have no clue about what you are aiming for.
An old post…something I thought I responded to but didn’t.
Just ‘bugs’ me when people don’t actually read what the poster says and make wrong assumptions as a result.
“…your tone tells me that you dont take information from anyone as valid, maybe its time to rethink your life choices?..”
The reason you see a ‘tone’ is because you are doing exactly what the others have done. You have not carefully read what I said in my original post.
As such you make erroneous conclusions.
“but because these are a total mess with cps converging and kinks of all sorts you are definitely expecting way too much from loft.”
That in part, is the crux of the matter.
The original geometry created in the other program has no such ‘mess’ or ‘kinks’.
The geometry is perfectly fine to work with and build from.
Yet when it gets exported to Rhino - Rhino is making a mess of it, at whatever stage; i.e. file conversion, loft, or whatever.
In the programs I created the profiles with, I made tools to do my own lofts - And they work perfectly fine. I do the coding for those tools and the data I access is very orderly and sequential.
There is no disparity.
The reason I want to do the lofts in Rhino instead is for a secondary purpose of being able to make booleans and fillets - which I haven’t had the time to make tools for yet.
All your subsequent points in your post are based on your wrong assumptions.
If I started the build from within Rhino all your points would be valid.
But that is not my goal, and at this point it means not using Rhino at all for what was originally intended.
Will just have to try different future versions of Rhino with similar projects and see if Rhino has refined/improved anything.
I’ve investigated it a little be further.
The loft should work like you were expecting and it’s actually working perfectly
…until the last (biggest) section.
Why? I think is related to a bug about the domain precision and approximation.
All the curves have 0 to 5.99281 but the last that has 0 to 6.
if you have the feeling people did not manage to answer your question its best to explain your problems as thorough as possible which avoids blaming others (experienced people for the most part here) for not understanding what you meant in the first place.