[Plugin][$] Curviloft 2.0a - 31 Mar 24 (Loft & Skinning)
-
Could you open the Ruby console before launching the Curviloft operation and check if there is an error message (if so, can you post it).
Also, it may be helpful to post the model where you have the issue
Thanks
Fred
-
I've been working with Curviloft for the last few days, trying to make a shape like the attached image. I'm using loft along path. I was getting fairly close after dozens of iterations, but now paths that used to work aren't producing the same results as they did before. I suspect I've changed some plugin option, but I have no idea what it might be. I tried reinstalling the plugin but that didn't help.
In the attached file, there are 3 objects. The first one I generated several days ago, and it's pretty good but it needs a few more tweaks. The second one is the initial surfaces and the path, extracted from the first object. The last object is what it generates now. This last one is much "curvier" that the original one.
Any insight much appreciated!
Bill
ps - is there any way to reduce the file size? It seems pretty big for just a couple of small objects.
-
After spending some more time with this, I have come to the conclusion it is the duct design that is the problem. The dimensions of my duct are just different than the posted image, so of course it ends up looking different.
Any comments would still be appreciated though!
-
@blackcat1313 said:
After spending some more time with this, I have come to the conclusion it is the duct design that is the problem. The dimensions of my duct are just different than the posted image, so of course it ends up looking different.
Any comments would still be appreciated though!
BlackCat: I think you would have an easier time using a combination of curvi-loft ( or a simple follow me for that matter) and the 'intersect with' function.
The image shows two cylinders with a bit of an s-shaped curve, which intersect with one another at the base forming a nice flat plane between them. To get that shape I would form one s-shaped cylinder and then intersect the base with a rectangular plane at the appropriate point (this may take some thought/ experimentation) to produce the particular shape. Then form a component from this shape, rotate it, and move it so that it snaps to the other at the appropriate point.
Hope that helps... if my explanation is not clear I can try to upload a example, but it would be my first and i imagine you might get it done before I had the chance.
Anyhoot, good luck, hope that helps.
-
I drew something similar some time ago.
I did much as pjbazel indicated using nothing but native tools. Follow Me is enough. In your case I would create the half, make it a component, copy it and flip it rather than rotate it to make the mirrored half. -
You are not authorised to download this attachment. is there any explanation how to download it? so much great author in this place
-
you should not get that message.
- If you are logged in, at all...
- If you are NOT logged in, we have changed it already.
-
Dear Fredo,
Curviloft is AWESOME, I am a designer who has spent all his money on development of my boat http://www.GliderYachts.com and am currently trying to get funding, as soon as I get some cash in the bank I will donate for this fantastic tool.I had tried TIGβs extrusion tool βbut just couldn't get to grips with itβ your tool is just amazing, simple and very intuitive, please continue to develop Curviloft.
The one area that I would love to see development is β Definable Thicknessβ ie. 3mm, 4mm etc as in all real world all forms have a thickness.
Thanks so much for your exemplary skills and development of a phenomenal tool.
Warmest Rob -
-
Fredo
I've been using and can't live without Curviloft for a long time now.
It is one of the very few powerful tools that makes SU a real 3D tool.However, I do have some criticisms of stuff myself and others have raised long ago and have not been adequately addressed by you, the designer.
Aside from a good tutorial on the myriad of icons presented in the toolbar.
We really need this to make the best use of Curviloft.This last week I was creating a fuselage shape that was about 75% curved fairings that only Curviloft could do. Making them manually would be a months work tweaking the smoothness. Curviloft (skinning) generated the 26 curved surfaces to near perfect shape in no time.
However, I spent HOURS getting CL to recognize the full contiguous perimeters of many curves. The colours were pretty, but in truth, meaningless, except to say a perimeter problem was detected. Then I have to sleuth out where the problem(s)is/are. I now have a good understanding where some problems probably lie, but in many cases, I have to end up deleting and redrawing much of the perimeter.
If CL can find an error in a perimeter, a tiny gap, a line fragment somewhere, a co-linear line, etc. WHY CAN'T YOU TELL ME WHERE IT IS???? Solid Inspector does an admirable job pinpointing similar errors, so it is doable.
The next most exasperating thing about CL is the vast number of tiny lines and faces generated in surfaces that have very different numbers of edges in the sides of the perimeter. It seems CL will break even small lines into more small lines just to line up with an endpoint in the opposing side in the perimeter.
In one large roughly square surface of 4 arcs, where 3 arcs were 12 sided and the 4th was 16, CL generated a surface with over 9,000 lines. In many cases perimeter line segments were divided into 2 and some 4 unequal parts to align with the opposite side. Where the average length of edges in the arcs were about 12 to 18 inches, CL created some segments as short as 1/2 inch. I spent 4 hours manually redrawing almost all of it by deleting multi-segmented but straight lines, redrawing them as 1 line, and reconnecting the endpoints into the mesh. I followed the CL generated curves and ended up with about 1200 lines. In later parts I discovered using CL to redraw the deleted internals after redrawing the multi-segmented lines. Now it takes me about an hour to optimize the curves. And I have a bunch more to create, then optimize.
YES, CL is far faster and better than doing it manually, but it shouldn't be so laborious to clean up.
Fredo, I know this would be a tough one to fix, but perhaps a post-process optimizer might do the trick, like Solid Solver does with Solid Inspector.
These are my 2 (3) biggest bitches about Curviloft. I have a few others, but I suspect they have more to do with my lack of knowing how to play with CL settings (again no tutorial is the culprit) than any coding problems within CL.
Again, Curviloft is DAMNED GREAT, but a few things can be done better.
-
Me too. It's great. I need to learn more of the tricks. I have no idea what the colors and tags mean. By watching videos I get some idea that if you press the different icons sometimes good things happen. But there's math there that I may never comprehend...
" I spent 4 hours manually redrawing almost all of it by deleting multi-segmented but straight lines, redrawing them as 1 line, and reconnecting the endpoints into the mesh"
JGB. Don't tell me you could have used "remove lonely vertices" and didn't?
-
@jgb and pbacot
Thanks for the feedback. Yes Curviloft is still missing many things and this is why it is still in Beta. I have a long list of improvements, including those you mentionned (like equalization of vertex matching) and also a clean up of the different methods, as some were just experimental.
-
for vertex matching, try to have curves with equal number of vertices, that will make the match easier
-
for contour selection, I documented the principles in Curvizard manual. Colors are used simply to distinguish different contours as they may be contiguous. The numbering is to indicate the order of contours, which does matter for Loft by Spline and Loft Along Path.
Fredo
-
-
Thanks for the reply Fredo. (Pbacot... please see below)
I realize that having equal vertices on opposite defining curves will reduce the lines count, but most times that may not be possible, especially with 3 sided contours.
I documented the principles in Curvizard manual --- What is that and where do I find it?
I've leaned that where some curves change color mid contour, or the selection ends at a vertex mid contour there is a problem, usually, but not always. And by the same token, may mean nothing.
I still believe that it would be relatively easy to implement highlighting a problem vertex, gap, line fragment or co-incident edge much the way Solid Inspector does.
Curviloft does find these errors and stops the surface generation, so isolating the error is a non-issue.
You could then color code the problems with a meaningful color selection. For example:
A single orange line is a double co-incident line.
A blue line and adjacent green line means a gap was found between them.
A red line could be an extraneous line at a vertex.
The rest of the contour selected stays black.These make up almost all of the known (to me) types of errors CL finds during a contour check. It would take literally seconds for me to fix knowing what and where they are, instead of long minutes checking almost every line and vertex in the failed contour, and repeating several times the contour selection.
Pbacot;
JGB. Don't tell me you could have used "remove lonely vertices" and didn't?Never heard of that.... Please tell me more.
There is a lot in SU I have never used nor even explored, even after 4 1/2 years using and loving SU. I even have a bunch of plug-ins loaded I almost never use, mostly because I forget they are there.
-
@jgb said:
I realize that having equal vertices on opposite defining curves will reduce the lines count, but most times that may not be possible, especially with 3 sided contours.
Currently, Curviloft respects all vertices of the contours, as these contours could be embedded in the model. Indeed, Curviloft could manage a better placement and matching if it could draw the contours differently.
@jgb said:
I still believe that it would be relatively easy to implement highlighting a problem vertex, gap, line fragment or co-incident edge much the way Solid Inspector does.
Curviloft does not detect errors in selection, as it is unaware of what you wish to do.
What curviloft guarantees is that if you select edges and they are adjacent, forming a single contour, then they get the same color and number...until you validate the contour (blue arrow).At surface generation, Curviloft just traps errors but has no clue of the underlying topology generating the errors.
I think your problem could deserve a dedicated plugin, say Contour Inspector, separated from Curviloft (as contours are used in many plugins).
@jgb said:
Pbacot;
JGB. Don't tell me you could have used "remove lonely vertices" and didn't?
Never heard of that.... Please tell me more.RemoveLonelyVertices is part of FredoTools. Here is the main post
Fredo
-
Fredo; thank you for the explanation.
The underlying reason I am having so much trouble forming curved surfaces lies NOT with Curviloft.
I create fairings and other curved surfaces for my airplanes (and other stuff). The shape of the fairings edges are totally dependent on the surfaces they mount to. This almost always, requires that I make an intersection with the base surface to a curve that forms the general shape of the fairing. So I have a curve intersecting a curve to get the line that will form a side of my fairing, or the contour that CL will use.
SU's intersect usually creates a mess of tiny fragments and gaps when 2 curved surfaces intersect. Most of the fragments and lines are around .001-.004 in, impossible to see. In some cases where I had a vertex with 4 lines, after Intersect I end up with at least 1, sometimes as many as 5 fragments attached to the vertex, and dividing any of the original lines. In some cases, a tiny gap forms. I find that doing a left2right select over the vertex will catch the fragments, but not the gaps. Delete all and many faces will disappear. I then delete all but one line to give me (hopefully) an original endpoint, then redraw the triangles. That will cure the gaps as well.
However, 2 things usually happen when I do that. Some vertices become out of plane and I get a myriad of hidden lines forming on attached faces, or the other end of the intersect line has a fragment that interferes with the forming of the face, forcing a redraw at that vertex, and so-on.
You can see why finding and fixing those fragments & gaps can take me a long time to do, if I have to literally redraw almost every line that is in contact with the intersected line.
It's when the intersect seems to be clean and I apply CL to the fairing perimeter, that my trouble starts, because of those fragments and gaps.
A standalone contour inspector would be very handy, as part of your tools, and as you said, very useful in other SU operations.
As for your "lonely vertices" tool, I've downloaded it, and will install it, and some other tools, real soon now.
-
Maybe you culd post or PM a model so that I can see what a Contour Inspector could do to improve the drawing and junctions of lines.
Fredo
-
@unknownuser said:
Maybe you culd post or PM a model so that I can see what a Contour Inspector could do to improve the drawing and junctions of lines.
Fredo
I can do that.
I have to go back a few versions to give you what I first had to contend with. My current model of an airship has all the fragmented curves fixed (manually) and other than show you the desired end result, you won't find any problems to work with. But I will include them as well. Please give me a few days to set up an SU file with annotated examples.
-
Fredo,
I haven't forgot this. On Sunday I posted an example SKP with a long explanation of what I did. I just checked back to see if you posted a reply yet, and Lo.... the post has disappeared.
I'll re-post tomorrow morning. Head is in the wrong space to do it now.
-
Finally had the chance to re-post this. The "Ole' Battleax" preempted my yesterday.
The purpose of this post is to show Fredo where Curviloft creates excess lines and faces within a relatively simple low poly contour.
The SKP contains 2 bulkheads (out of 12) from my large cargo Airship concept.
The AFT Bulkhead was one of the more complex ones, so I did it first.It was a complex set of steps to create a curved fillet between the bulkhead and the hard carbon fiber aerodynamic skin. The curved fillets serve 3 main purposes.
Spreading the flight loads from the hard skin to the bulkhead,
Forming a smooth rounded corner where the helium bags meet the structure when filled, and
Forming a channel for the helium between bags and compressed He storage tanks.It requires over 15 steps (in 6 major steps) to create a bulkhead, and the Curviloft skin fillets. Typically a bulkhead will require 30 Curvilft skins, plus a pile of manual development. It now takes over a full day to do one, but 7 of the 12 are the same, so I only have 6 to do. But there are also 13 different additional longitudinal frames to do in a similar fashion.
If Curviloft could optimize the face/line generation, then it would take half that time.
And it is NOT just the esthetics of the curve at issue here, In many cases, especially in this model, there will be intersections and cuts to formed surfaces where other parts of structure and systems cross or join. Because SU's Intersect creates significant tiny line fragments, co-linear lines, and co-planar faces especially where curves intersect, reducing the CL lines and face count becomes critical because it takes hours to fix that mess.
In 2 cases in this model alone, I have scrapped parts after it was impossible to fix and tried again, several times. In one case, forming a solid from several intersections of curves, even Solid Solver threw up and totally blew up the object. It took 3 full days to recreate it and make solid manually.
The bulkhead process is detailed in the SKP, so please use LAYERS to see each one, with annotations.
There are 2 bulkheads shown, and one, the aft bulkhead is shown step by step how it was created. The examples (#1 - #5) are not exactly as I did the model, as that bulkhead was almost completed when this post first came up. Most of the contour definition lines had been deleted, so I had to partially recreate the initial steps; however #6 and the fwd bulkhead ARE taken directly from the airship model.
The FWD bulkhead is in RAW condition, equivalent to example #5. Its shape and size are far more consistent with most of the rest of the bulkheads than is the Aft bulkhead.
The other issue of "Contour Inspector" to highlight sources of generation errors will be addressed later when I (WILL) get another major problem.
-
I had a quick look at the model and the steps.
It appears that most of the problems (those highlighted in red) are related to the "equalization" of contours to avoid small segments, collinear edges, etc... As said, Curviloft takes as a constraint all vertices of the contours.To cleanup the contours, you could:
- visualize the vertices with FredoTools::MarkVertices
- simplify the contours with Curvizard::Simplify, which will remove collinear edges, small segments when quasi-aligned
I am going to publish soon an additional tool in Curvizard which will smooth the contours. It performs some cleanup and allow getting a better distribution of vertices.
However, nothing magical, it all depends on how accurate you wish to keep the contours, so that a global clean up would be difficult.
Below is a quick attempt to simplify the contours in step 5
- first the surface you generated
- second the surface after a "Simplify" of the upper contour
- the same surface with generation of interpolated contours to make it smoother.
Fredo
Advertisement