[Plugin][$] Curviloft 2.0a - 31 Mar 24 (Loft & Skinning)
-
No worries.
I've got a project in my mind that I'm thinking this plugin will make fairly easy to do. We'll see if I can pull it off.
-
i copy/pasted this quote by Fredo from his BezierSpline thread:
http://forums.sketchucation.com/viewtopic.php?p=266254#p266254@unknownuser said:
PS: on my long list of things to evolve is precisely a tool to draw splines with control of tangents.
i'm assuming a lot of the things you've done with bezierspline are happening in curviloft as well? (and if i'm off the mark there, sorry for mixing the two discussions together)
i guess my ultimate question is if you do in fact succeed with tangential control of spline could we also expect to see that type of feature in curviloft?
i'll attach a skp which might get confusing as it's talking about two separate things at once
JH_curviloft2.skppart of that skp shows the kinking (that i'm sure you're already aware of) that can be cause by the S-curves and how i've dealt with them using the skinning function of curviloft.. (and actually, i've just realized that it's the creation of the single S-curves while lofting that i'm really liking about the loft.. i guess if these could be created on their own and tangential then they would be more than helpful enough to just use them and curviloft's skinning.. so yeah, bear with me, i'm not exactly sure what i'm asking here .. i do know that it's those profiles and/or rails are the hardest thing to create no matter which skinning option i choose.. those outer lines of these types of blends are seldom a radius or ellipse which are really the only curves i can draw with any sort of ease in sketchup which will remain smooth and tangent. )
the other note (at the bottom) shows areas that i'm still concerned with as far as continuity between the joining surfaces goes.. i haven't checked but just by the looks of it, i think the joint is a valley instead of smooth and continuos.
are there any settings within the curviloft beta that may help smooth some of that out?
-
THX for your great job
I have a question
What does this mean
THX
-
@hebeijianke said:
What does this mean (the two gray icons)
THXThe Spline methods Bspline and FSpline are only avilable when you have at least 3 contours.
The idea is to take connect the first and last contours by a spline curve (BSpline or FSpline), taking the intermediary contours as guides only. So the shape won't exactly passes through these intermediary contours, but the general geometry would look smoother.
I did not work deeply on these two methods, so they may not work well in certain cases.
And for the wrong tooltip TTIP_SplineMethod_Cunic, that's just a bug. It is for Cubic Bezier junctions.
Fredo
-
THX
This is just your typo
Thank you for your answer
-
Hi,
I love this curviloft.
-
Thanks for putting together such a great tool. For the life of me, I couldn't generate a smooth curve to intergrate a jet engine intake into an aircraft fuselage. In a few seconds, your tool generated exactly the shape I wanted. I can't wait to experiment some more with it.
-
hi Fredo,
so i had a chance to do some more experimenting and i've definitely found a way to accurately draw some of the things i've been trying for a couple of years now. (well, i haven't yet found the exact parameters etc. that will best work for my application but i have found a way to insure tangency throughout the blends.. what degree of continuity i'm not sure but i'll be taking some of this SU data into rhino for further info on that.. i do believe however that you could roll through these blends with some 55mm wheels and be just fine )
the process involves a lot of manual drawing but i don't mind. my main concern has always been being able to draw it in the first place. i'll probably find some shortcuts as i further refine this method but there might be something of interest for you in your development of tangential control of splines or even your nurbs idea i've seen you mention a few times..
i've made a 4x speed video showing the process i used for drawing the splines to generate the surface and then for editing the surface created by said splines. just in case it's not clear what i'm doing in the video, here's a quick rundown..
basically, i create extensions from the surfaces i'd like to join then use those extensions to set the B-spline control points.. apparently, the Bspline is in fact tangent at the tip of the extension.
i then create the surface with curviloft using these B-splines.. in the example, i then further extend my guides then edit the splines which changes curvature but maintains tangency.. this is very nurbs like behavior (well, at least to me it is ).. i couldn't figure out a way to edit multiple spline's control points at once but if that ability exists, please let me know..
here's the skp from the video which still uses the same shape as the one i originally posted here -- though i have edited to curves to share the same amount of segments (loving the polyline segmentor for this !!)
[flash=660,405:35qw1lfi]http://www.youtube.com/v/8B0RXSW66no?fs=1&hl=en_US&rel=0&color1=0x2b405b&color2=0x6b8ab6&border=1[/flash:35qw1lfi]
i also tried a similar technique on a 3 tube blend with surprising success.. the sides came out sweet and the tops (which i basically freehanded with F-splines) are almost there.. one more go at it and i'd have it.
anyway, maybe there's something that might trigger a method in you but if not, don't sweat it.. i'm super hyped on these tools as is.. Thanks so much for writing these!
-
Jeff,
Looking at your video, I could suggest an alternate method which is already available in the current version of Curviloft.
I am not sure this would produce your desired surface, but it allows adjusting the shape of the S-curves, while remaining tangential at the boundaries.
This is illustrated in the video below.
[flash=640,480:3gv84l7f]http://www.youtube.com/v/jVjwn8xzULI&hl[/flash:3gv84l7f]
Here is the file where I applied the Bezier method
JH_curviloft3 - Fredo.skp
Fredo -
[disclaimer- longwinded post coming up.. hope you all don't mind ]
hey Fredo,
i previously hoped the tension adjustments would do the trick but unfortunately, no.
from the model you posted:
you can see one of the kinks created in that picture.. i should also add that i don't think lofting is really what i'm after.. especially when considering the example skp i've been posting is simplified in that the adjacent surfaces are flat when in actuality, they're often curved as well. i think it's more of a skinning feature i'm into.
i should add though, from your video, all is looking good from the view you're showing until you click on the left section and make it one segment.. that's when the kink happens but for my purposes, i would have to have the ability to make that wall flat as you've done.. further in this post, i get more in to it but it seems like when that wall flattens, the adjacent one should adjust accordingly
in the picture, notice the 'flatwall' and 'waterfall' labels.. the problem (well, not the problem with your plugin or anyone else's) i have with all the available surfacing plugins is that they do not consider what's happening with the adjacent surfaces.. they only pay attention to the outer rails/profiles of the 'patch'.. what i'm trying to do is fill in the waterfall section with a surface that maintains tangency to the flatwall throughout the blend (ie- every spline used throughout the blend is tangent to it's corresponding blend point).. i think one problem i have when discussing this is that i view the sketchup model as guidelines to a hidden structure.. here's the basic looking framing i do and it's this i see when looking at these models.. as in, i actually see each individual spline as these curved 2bys
in those pictures, every row of ribs maintains tangency/curvature continuity throughout.. thing is, all the blends are radius based and i've been doing radii for 20 years .. sort of getting bored with them not to mention they're somewhat limiting design wise..
i'd like to get into more complex surfacing and that's the reason i've been learning rhino but when it comes down to it, i love sketchup and prefer it for a number of reasons over rhino.. what i can't really understand though is that seemingly most of rhino's horsepower is based around making these types of blends possible and accurate, but, nobody in the sketchup community that i've seen (and i mean nobody ) has ever voiced a desire to make these things happen within sketchup.. i often see people wishing for nurbsketchup but i haven't really figured out why because this is the type of stuff nurbs is good for..
[but more likely than not, people do want this stuff in sketchup but i'm just bad at describing things so no one is ever like 'oh yeah, that would be sweet!" ]i made a couple of videos which i think are simplified to the point of me being able to describe this stuff visually instead of trying to type it into words..
in the videos, the adjacent surfaces are flat planes and all of the curves are arcs.. the white surface represents the blend and the blue are the adjacent surfaces. (i'm using arcs and flat planes for this example because i think they're much easier to wrap your head around the geometry as opposed to the bezier curves into round walls that i'm hoping to represent)
the first video is supposed to represent the actions of current sketchup surfacing capabilities. the 'patch' will be thrown in there regardless of what the blue surfaces' orientation is.. if the radius of the arc changes, it will bulge out or fold in regardless of if it maintains tangency or not..
[flash=500,405:3opcdp0n]http://www.youtube.com/v/KqJ7EMkwCSk?fs=1&hl=en_US&rel=0&color1=0x2b405b&color2=0x6b8ab6&border=1[/flash:3opcdp0n]
the second video shows the patch respecting the adjacent surfaces and always maintaining tangency regardless of the arc's radius.. tangency wise, this is more of the behavior i'm after..
[flash=500,405:3opcdp0n]http://www.youtube.com/v/q4KCZWx9W5g?fs=1&hl=en_US&rel=0&color1=0x2b405b&color2=0x6b8ab6&border=1[/flash:3opcdp0n]
since the examples are arcs and tangency is being maintained throughout, the flat planes must adjust in width in order to allow continuity.. basically, what i'm trying to accomplish, is to not allow the blue surface to change and place them in less accommodating positions.. positions where arcs no longer work and require a complex curve to create the blend while maintaining smoothness throughout the entire structure..
with the example i gave in my previous post, that's pretty much what i've accomplished by drawing templates for the splines' control points using the adjacent surfaces.. those templates ensure the whole surface acts as one instead of dividing it up into multiple parts and each section freely moves with no restraint to the other sections..
but hey, like i said in my previous post, I'm hyped!.. your bezier spline plugin makes it possible to do what i'm talking about here.. albeit, sort of a tedious process but that's a process that forces me to get into the meat of what i'm drawing and hopefully i'll learn a lot about the math behind those curves by drawing these types of blends curve by curve.. if i'm hoping for anything here, it's that i'll learn a lot about these types of blends at the root level and then, after a year or two of doing that, a plugin will be developed that automates much of it for me..
-
Jeff,
Thanks for this comprehensive explanation.
Actually, I did cover the case in the initial version of Curviloft where I had 2 Bezier methods. The Method 2 was for using the contour planes to detremine tangency at boundaries of junction. I dropped it when introducing the Orthogonal methods.
I will reinstate the method 2 in a next release. I should also try to make the orthogonal methods work properly in case of S-Curves.
In the mean time here is the result of this Bezier method 2
JH_curviloft3 - Fredo - Bezier method 2.skpFredo
PS: I can't make a new release of Curviloft immediately, as I am working on the Loft Along module. If you wish to test in the meanwhile, you can drop the two attached files in the CURVILOFT_Dir_10 folder
CurviloftPalette.rb
CurviloftSpline.rb -
Hi Fredo,
I have found one small error. If I use a single edge, the ends are twisted. At the same profile as a face all is right.
Charly
-
@charly2008 said:
Hi Fredo,
I have found one small error. If I use a single edge, the ends are twisted. At the same profile as a face all is right.
Charly
Charly,
There are plenty of errors in Loft. I am currently trying to consolidate fixes for a next release. This one will be fixed, I hope.
Can you post the model.
Fredo
-
Hi Fredo,
I know that it is impossible to find any errors, but still it is a great tool. I admire you, which you can write so wonderful Ruby Scripts.
Charly
Image below: Curviloft and Shape Bender.
-
@charly2008 said:
Hi Fredo,
I know that it is impossible to find any errors, ...I guess you mean "impossible not to find any errors"
-
Hi Mariocha,
I think both expressions are right. Now it's a mathematical Question. Theoretically, all bugs can be found. This would require all possible geometric cases are tried with the tool. The problem is to find all the possibilities and the time needed for it. Therefore, it is impossible not to find a bug. This problem is found with any software.
Charly
-
wow Fredo, the method2 drawing looks excellent!
i'll give it a try myself a little later in the day. -
Mighty impressive stuff Fredo.
I hope you get some donations for this! -
@thomthom said:
Mighty impressive stuff Fredo.
I hope you get some donations for this!agree!
Tools-> Fredo6 Collection-> Curviloft-> Donation...hit it up boys and girls
-
@charly2008 said:
Hi Fredo,
I know that it is impossible to find any errors, but still it is a great tool. I admire you, which you can write so wonderful Ruby Scripts.
Charly
Image below: Curviloft and Shape Bender.
Thanks the model. Actually, I had fixed the error already in my own version.
Let me also tell you that your golden frises are quite nice looking. I am not sure I would be able to do the same myself with Curviloft!
Finally, I think it is in practiceimpossible to find all errors, but more surely, it impossible to fix them all.
Fredo
Advertisement