[Plugin][$] Curviloft 2.0a - 31 Mar 24 (Loft & Skinning)
-
@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
-
Cool geometric exploration
-
Wow, that's pretty cool.
Who would think that Sketchup could do such a thing with a few click of the mouse.
-
Amazing stuff, Charly
-
Hi,
some new curviloft objects.
Charly
-
Wow, this is really cool.
Could you please show the screenshots of the sketchup geos?
Thank you, Sir.
_KN
-
charly2008
can you make juste one tutorial for yours nice jobs -
Hi Ken, hi Robert,
at first a few screen shots from SketchUp.
-
You have a great imagination, and I assume your knowledge is less limited than many
I notice in the SKup captures that the geometry is coincident but not intersecting. I did not realize that a render app would tolerate this?
By the way, which render app is it?
Advertisement