sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    [Plugin] Simple Loft alpha 0.1b -- UPDATED May-15-09

    Scheduled Pinned Locked Moved Plugins
    251 Posts 88 Posters 148.7k Views 88 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • F Offline
      fakircho
      last edited by

      Thanks man, have only been waiting for this for like 5 years 😄
      It is a very good start and i am looking forward to this becoming a real loft tool.

      Thanks again!

      1 Reply Last reply Reply Quote 0
      • Chris FullmerC Offline
        Chris Fullmer
        last edited by

        @abspandey - glad its working now. Check back regularly or in a few days or something. I'm working on making it work with splines of different segment lengths, but currently its still a little buggy. It works about 90% of the time, but that 10% has been difficult to pin down. So once I get it debugged, I'll post the working version. And that will hopefully be in a few days.

        @fakircho - Glad you like it. and yes, its just a simple loft tool for now. I have some VERY big plans for it, assuming a find some VERY big chunks of time in my life to devote to it. So hopefully over the next year or so I'll get a full version released. But I make no promises.

        Chris

        Lately you've been tan, suspicious for the winter.
        All my Plugins I've written

        1 Reply Last reply Reply Quote 0
        • A Offline
          AcesHigh
          last edited by

          @chris fullmer said:

          So hopefully over the next year or so I'll get a full version released. But I make no promises.

          Chris

          you mean... by 2010???? 😢 😢

          and I was thinking it would be like... next month...

          1 Reply Last reply Reply Quote 0
          • R Offline
            remus
            last edited by

            Theyre very time consuming things, these ruby scripts.

            http://remusrendering.wordpress.com/

            1 Reply Last reply Reply Quote 0
            • Chris FullmerC Offline
              Chris Fullmer
              last edited by

              If I had your math brain Remus, it might be easier. And in fact, what I have in mind to implement should simplify some of the script, while exponenetially increasing the "awesomeness" of it. But seriously, I have to learn some math first.

              And I'm sorry I haven't released the version that accepts splines of any amount of segments. Its still being worked on.....grrrr

              Chris

              Lately you've been tan, suspicious for the winter.
              All my Plugins I've written

              1 Reply Last reply Reply Quote 0
              • P Offline
                pr0
                last edited by

                Guys, don't know what to tell you, the combination of working plugins by the community especially this one!! and the free transform 2 tools make sketchup more powerful than 3ds max and hopefully soon even rhino. I can't believe it, thanks alot!

                1 Reply Last reply Reply Quote 0
                • thomthomT Offline
                  thomthom
                  last edited by

                  @chris fullmer said:

                  If I had your math brain Remus, it might be easier.

                  Theehee! I just had an image of me and Chris as zombies drooling over Remus' brain. Braaaaaaain! Maaaath-Braaaaaaain!

                  Thomas Thomassen — SketchUp Monkey & Coding addict
                  List of my plugins and link to the CookieWare fund

                  1 Reply Last reply Reply Quote 0
                  • S Offline
                    silver_shadow
                    last edited by

                    Great stuff
                    What you should look at is this.
                    Can you try to let the plugin look for the highest amount of divisions in the selection, say you have 3 curves.
                    one has 25 divisions the next one has 10 and the third one has 6. Now instead of going manually of dividing those other curves to 25 divisions, it should re divide those other curves to match the 25 which is the most.

                    or

                    can someone make a plugin that recognizes a welded line and re divide it. on second thought..its kind of an impossible one request lol

                    Pretty cool plugin i must say.

                    1 Reply Last reply Reply Quote 0
                    • P Offline
                      pibuz
                      last edited by

                      Thank you Chris.
                      This is simply amazing. You're really turning Sketchy into a professional tool.

                      The version Google releases should be called "Google almost-Pro"... 😒

                      GREAT WORK!

                      WEB (ita) - https://filipposcarso.wixsite.com/ordinentropico

                      1 Reply Last reply Reply Quote 0
                      • Chris FullmerC Offline
                        Chris Fullmer
                        last edited by

                        Thanks everyone! Silver, that is what my first idea was, but when I got into programming it, but then I decided to make each spline transpose its endpoints onto each other line. Its has a few added benefits, but its essentially the same idea. And I've got it working.

                        Tig, I think what I've done is similar to what you're showing there - except I have not got it erasing coplanar faces yet. This new overkill method of adding segments is creating so much more geometry than before that it is becoming VERY slow. Checking for coplanar faces at this point might not be desirable.

                        So its working with varying segments counts. Just every once in a while, it will encounter something that will break it. And I haven't quite put my finger on what the problem is. Because I've done some very complex shapes that work, then I'll try something more simple and it won't work. And I play around with it and determine it to be one of the splines will crash it for no apparent reason. So once I figure that out, I'll release it. With a sweet new icon from Free Agent!

                        Chris

                        Lately you've been tan, suspicious for the winter.
                        All my Plugins I've written

                        1 Reply Last reply Reply Quote 0
                        • TIGT Offline
                          TIG Moderator
                          last edited by

                          Deleting coplanar edges is relatively quick - it just sorts the edges that are dispensable...

                          ### assumes you have made the faces and now have an array of these new edges called 'edges' - that's all that needs checking.
                          edges.each{|e|
                            if e.faces.length == 0 ### for some reason it hasn't faced !!!
                              e.erase! if e.valid?
                            elsif e.faces.length == 2
                              if (e.faces[0].normal == e.faces[1].normal or e.faces[0].normal == Geom;;Vector3d.linear_combination(-1,e.faces[1].normal,1,[0,0,0])) and e.faces[0].material == e.faces[1].material
                                ### you'll probably not need the material check, as it's all new stuff, but it's useful generally so that materials' dividing coplanar edges aren't removed...
                                e.erase! if e.valid?
                              end
                            end
                          }
                          

                          Quickest way without 'a safety-net' is...

                          edges.each|e|e.erase! if e.valid? and e.faces.length==2 and (e.faces[0].normal==e.faces[1].normal or e.faces[0].normal==Geom;;Vector3d.linear_combination(-1,e.faces[1].normal,1,[0,0,0]))
                          ###
                          

                          TIG

                          1 Reply Last reply Reply Quote 0
                          • A Offline
                            AcesHigh
                            last edited by

                            You ruby geniuses should work together in creating ruby awesomeness... speeding up plugin creation... you know... like a softhouse... haha, I have no idea on the workflow of writing rubies, I am just daydreaming 😄

                            1 Reply Last reply Reply Quote 0
                            • M Offline
                              mike d
                              last edited by

                              created with simple loft

                              The grass is always GREENER on the roof.

                              1 Reply Last reply Reply Quote 0
                              • D Offline
                                driven
                                last edited by

                                Hi Chris,

                                I've been having real problems trying to download this for hours, do I need special permissions for your stuff?

                                I can download everything else I've tried today?

                                cheers
                                john

                                learn from the mistakes of others, you may not live long enough to make them all yourself...

                                1 Reply Last reply Reply Quote 0
                                • TIGT Offline
                                  TIG Moderator
                                  last edited by

                                  My thinking for joining curves with unequal numbers of edges is this:
                                  [list]Let's say curve1 has 3 edges and curve2 has 4 edges
                                  Split (divide) each of curve1's edges into 4 equal bits
                                  Split (divide) each of curve2's edges into 3 equal bits
                                  Taking the pairs of vertices for curve1 and curve2 starting at the same end (find curve1's ends and then pair curve2 start with the nearer of curve1's ends) make edges between the vertices pairs, make diagonals between pairs with one offset so face is triangulated...
                                  Use find_faces on the edges and you should now have a form
                                  Smooth and erase coplanar edges...HandStichedCurves.jpg

                                  TIG

                                  1 Reply Last reply Reply Quote 0
                                  • Chris FullmerC Offline
                                    Chris Fullmer
                                    last edited by

                                    Nope John, my stuff is just the same as everyone else'e. I don't know why it doesn't ever seem to work for you. If you don't get it downloaded, I can email you a copy later.

                                    Chris

                                    Lately you've been tan, suspicious for the winter.
                                    All my Plugins I've written

                                    1 Reply Last reply Reply Quote 0
                                    • D Offline
                                      driven
                                      last edited by

                                      Still no joy, tried all sort of things from this end, so if you can forward that's great,

                                      I took advantage of selectbylength with xformclone to make a quick, low poly candy-stripe pole and then animate it spinning..link over on that topic..

                                      cheers

                                      john

                                      learn from the mistakes of others, you may not live long enough to make them all yourself...

                                      1 Reply Last reply Reply Quote 0
                                      • I Offline
                                        ideas_arte
                                        last edited by

                                        incredible…. a million thanks..!

                                        😍 😍 😍

                                        1 Reply Last reply Reply Quote 0
                                        • utilerU Offline
                                          utiler
                                          last edited by

                                          This looks like a tutorial subject.....
                                          RoomDivider-SangHoonKim.jpg
                                          http://www.contemporist.com/2009/05/23/the-phenomena-room-divider-by-sang-hoon-kim/

                                          purpose/expression/purpose/....

                                          1 Reply Last reply Reply Quote 0
                                          • A Offline
                                            August
                                            last edited by

                                            Hi Chris,

                                            Echoing everyone else: Sweet tool!

                                            I have some questions based on the sample video and other examples that folks have posted. The feeling I keep getting is that for any set of curves, there is a range of possible solutions that could be the desired result from those curves and it's not clear how the tool decides what to do.

                                            Certainly, like making a Raku pot, one can just keep trying until something nice results, but this algorithm is not random and it would be nice to have an idea of the parameters to be able to predict what the results might be like in a broad sense.

                                            You seem to be making some assumptions about the angle of the surface as it meets the curves. For instance, in the video, you show two curves first connected by 1 segments, resulting in lines, then connected by 10 segments, resulting in Bezier curves. In that example, it looks as if the tool attempts to have the Bezier curves perpendicular (Blue-parallel) at their ends, but other examples where the curves are a bit more staggered in their alignment, the ends of the Beziers are clearly at an angle.

                                            How is that angle determined? There is clearly something a bit complex going on.

                                            In the example with the pleated curtain top and the simple curve at the bottom, when you introduce the middle curve, the surface goes down from the pleats and meets the middle curve smoothly and then in the lower half the pleats reappear and disappear again by the time the surface reaches the bottom curve.

                                            Personally, I would not have predicted from any of the previous examples that the pleats would reappear in the bottom half. But they do, and clearly that is a result of the angle assumptions that you are making. Might there be settings that would restrict the pleats to only appear in the top half, or is the connection in the lower half between the two non-pleated curves likely to be always pleated because the top half is pleated?

                                            The pleats also seem to ripple in the alternate direction from the top half, again because of some assumptions of smoothness and angles being "transmitted" across the middle curve. If there were two intermediate curves, would the middle section have pleats opposite the top section and the bottom section have pleats pointing the same way as the top? From what I see, I think so.

                                            The result of this transmission of the pleating across the smooth curve makes the result seem more like the folds of a bamboo or reed mat or curtain rather than fabric. Fabric would never have those reverse pleats but a bamboo mat, by it's having more stiffness in one direction than the other, would certainly "transmit" the pleats across the middle curve.

                                            This also gets to the heart of a question that was raised about joining two surfaces as an alternative to using closed curves. On 5/15, watkins posted an image of a bowl or flange shape (Full Bowl) that had circular top and and bottom and about 5 hours later showed the results of trying to use half circles to create the same shape. (Half bowl) As watkins said, "The edges are not suitable for joining."

                                            Would the half-bowl be suitable for joining if straight extensions were added to each end of each half-circle curve and then the last column of facets deleted after generating the loft surface? Always? Only under certain circumstances?

                                            Whether it is always or only sometimes depends on the details of what the algorithm is doing, the assumptions it makes about how it positions the Bezier curves and the angles with which those curves meet the original curves. That is what I'm asking about.

                                            Can you clarify?

                                            I hope this helps,
                                            August

                                            “An idea, like a ghost, must be spoken to a little before it will explain itself.”
                                            [floatr:v1mcbde2]-- Charles Dickens[/floatr:v1mcbde2]

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 5
                                            • 6
                                            • 7
                                            • 8
                                            • 9
                                            • 12
                                            • 13
                                            • 7 / 13
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement