[Plugin][$] Curviloft 2.0a - 31 Mar 24 (Loft & Skinning)
-
@thomthom said:
Jeff, how do you dock Ruby toolbar buttons to the main toolbar in OSX SU? When I looked at it on my Mac I thought I only had the native buttons available...
right click on an empty space of the toolbar then choose 'customize toolbar'.. all of your icons will be available and can be placed up there individually.. (this goes for all osx apps btw)
one thing to note when doing this in sketchup:
when you quit sketchup, your custom toolbar will be saved however, when you relaunch, only the native google icons will be up there.. ⌘N (File-> New) will give you a new window and your custom layout with 3rd party plugin icons will appear..
i think it's something to do with when the icons are initialized.. the google ones happen during launch prior to the window being shown whereas the plugins folder is accessed later during launch ?[edit - i should note as well that google's sandbox tools exhibit the same behavior at the 3rd party plugins so it's not as if they have a certain snip of code allowing them to be accessed earlier.. it's the standard google toolset, views, render style etc.. that will remain upon a fresh launch..
also, if you want to remove icons from the toolbar during customization, just drag them off the toolbar and drop them anywhere else on screen.. they'll poof]
edit2 - oh, here's a post from last year where i made a video showing the customization process:
http://forums.sketchucation.com/viewtopic.php?p=162762#p162762 -
And Jeff, deserve a THANKS.
-
Hi Fredo,
Anyone can do that, it is very easy. Draw any profile you want, make it a group and copy it several times as shown in the picture below. A further possibility is to move the profiles horizontally or vertically. So you can then try all possible combinations with Curviloft. The imagination knows no boundaries. The possibilities are endless.
Charly
-
@charly2008 said:
...Anyone can do that, it is very easy. ...The possibilities are endless.
Hey thanks a lot for the tip Charlie.
I still got to figure out how you achieve such a nice interior surface thought. -
@mariocha said:
Some feedback; the "new" CurviLoftSpline.rb seems to go in an endless loop here. No result.
Tried the previous one, works ok.Does it happen with a specific model or all models?
Which tool do you use?Fredo
-
@unknownuser said:
Does it happen with a specific model or all models?
Which tool do you use?
FredoLet me investigate a little more, I did not put enough time on it yet to be specific.
Maybe tomorrow in the plane to Basecamp.
I'll keep you in touch. -
Minor issue I've discovered, and perhaps it's caused by my improper application of the plugin. I get reversed surfaces between rails/curves that make up the object to be lofted. I wouldn't mind so much, except that the surface does not remain divided by the rails, so I have to flip a few hundred faces by hand for each reversed area using "view hidden geometry" to make the faces selectable. Example of the output below. Anything I can do or suggestions as to how to prevent this?
Thanks big time for the plugin, it's really put SU on a whole 'nuther level. I'm finally able to do some modeling I really didn't know how to do in SU before.
-
@escapeartist said:
Minor issue I've discovered, and perhaps it's caused by my improper application of the plugin. I get reversed surfaces between rails/curves (...)
Double click on the group for edit, select the surface, then right click and select "orient faces".
Daniel S
-
@escapeartist said:
Minor issue I've discovered, and perhaps it's caused by my improper application of the plugin. I get reversed surfaces between rails/curves that make up the object to be lofted. I wouldn't mind so much, except that the surface does not remain divided by the rails, so I have to flip a few hundred faces by hand for each reversed area using "view hidden geometry" to make the faces selectable. Example of the output below. Anything I can do or suggestions as to how to prevent this?
[attachment=0:pvmj8oh0]<!-- ia0 -->seat.jpg<!-- ia0 -->[/attachment:pvmj8oh0]
Thanks big time for the plugin, it's really put SU on a whole 'nuther level. I'm finally able to do some modeling I really didn't know how to do in SU before.It should orient faces to be all the same...
BIT even then this isn't too problematical...
Temporarily View > Hidden Lines 'On'.
Edit the Group.
Select one face that is correctly oriented, right-click 'Orient' - all connected faces as flipped to match it.
Done!
[Perhaps View > Hidden Lines 'Off' if desired] -
@tig said:
It should orient faces to be all the same...
BIT even then this isn't too problematical...
Temporarily View > Hidden Lines 'On'.
Edit the Group.
Select one face that is correctly oriented, right-click 'Orient' - all connected faces as flipped to match it.
Done!
[Perhaps View > Hidden Lines 'Off' if desired]Thanks for the reply. I suppose that this is one of those things in the "D'Oh! Thread" that I missed. Yet another tip that would have saved me tons of time had I known about it before!
-
As advised by Daniel and TIG, you should use Orient Face to get them all oriented the same way.
It is on my list to improve the generation of geometry for Skinning so that all faces are oriented correctly. It is actually not so simple, because one portion of skin can be connected to more than one other.Fredo
-
Fredo
I'm sure you've already found it... but in my similar scripts they can 'orient' faces consistently using my 'orient_faces' method [that is published around here somewhere and incorporated in modified forms in these tools]. As long as the created edges have no more than two faces you can consistently 'orient' them all to match even if the mesh 'flips' at some points - they might ALL be made the wrong way round compared to what the user expects... but then a simple reverse fixes them all in one go [I also do tricks like assume the topmost face faces upwards and use that to orient the set from - but that's not foolproof either... open shells might concave OR convex!]
-
TIG,
The main problem with have with the SU API is that there is no Bulk methods to work on a set of elements for Smoothing, Reversing, Orienting, etc.... (whereas these methods exist in the natural GUI). As a result, doing it by program results in long response time, even longer that to generate the basic mesh geometry. We could ask the SU Google Team to add these methods in a next version, but you know there is no guarantee.
For face orientation, my plan is to calculate the orientation in the algorithm itself (based on the ordering of points in the Geom::PolygonMesh construction).
For the time being, I consider this is not a critical issue for the user, because s/he can always orient, reverse and smoothen instantly the face mesh, even complex, via the native SU GUI (of course, Orient Face should be more known). I assume that users need Curviloft occasionally and do not need to generate 20 meshes by minutes.
Fredo
-
Fredo6
I did this with DC and loft by splines.
After making transformed copies of only two profiles, then I launched loft by splines.
Here is my other post which contains more images and information.
http://forums.sketchucation.com/viewtopic.php?f=289&t=30749#p270943Thanks for your efforts I could go further in my DC investigation.
-
Hi Fredo
I just tried the Skinning feature.
At first I thought it failed to create the mesh - but then I realised it had created it, just not in the current context. I was working on some curves inside a component with Hide Rest of Model enabled - so I did not see the mesh getting created. -
@thomthom said:
Hi Fredo
I just tried the Skinning feature.
At first I thought it failed to create the mesh - but then I realised it had created it, just not in the current context. I was working on some curves inside a component with Hide Rest of Model enabled - so I did not see the mesh getting created.Currently the mesh is created as a Group at the first level of the model. That's a small bug.
Anyway, I will probably improve this part, in particular the possibility to use existing groups, if you build the mesh piece by pieceFredo
-
It's quite straightforward to make your new mesh-group in the same 'context' as the selected curve edge[0], in the form
entities=edge.parent.entities group=entities.add_group()
Then the 'group' for the new mesh will be in the same 'context' as the curve's 'edge'... -
TIG,
The bug is simply that I used model.enntities instead of model.active_entities, which is the current working context.
I cannot rely on edges context, because Curviloft can actually 'borrow' contours from Edges that can be within different groups or components.
fredo
-
Got you...
So just add theactive_
toentities
and it works !!!Line#198 in
CurviloftGeometry.rb
@top_group = @model.**active_**entities.add_group
-
Hi,
some further simple constructions with Curviloft. The last image show the basi construction.
Charly
Curviloft95 Basic Construction.skp
Advertisement