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

    Array along non-linear path

    Scheduled Pinned Locked Moved Newbie Forum
    sketchup
    28 Posts 8 Posters 5.2k Views 8 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.
    • L Offline
      Liverpudlian82
      last edited by

      Hi everybody,

      I am designing a football stadium with round corners and putting the seats into them is giving me a hard time.

      Let me illustrate my problem with a picture:

      http://s7.directupload.net/images/130901/jxuddbr6.png

      So each seat has a width of 0.5m. Along the "a" lines it's a simple task using the array tool since I have full control over the length of that lines.

      However, in the corners of the stadium the length of the "b" line varies, such that I need to put in the maximum number of seats without them overlapping and have some space between them. In the case of the pictures that is 5 seats with 0.075m between them.

      Again, along a straigth line this is not a problem in principle with the array tool, but it is a hell lot of work for a complete stadium. So any idea, how I could possibly copy my seat components along a "connected" path with the array tool such that it will maximise the number of seats on each section without the seats overlapping?

      I tried the copy along path plugin, but I couldn't make it work, since I understand you only have control about the distance between two seats. Since I do not know the space between seats, this can't be used along the "b" lines.

      Any advice very much appreciated!
      Thanks, Markus

      1 Reply Last reply Reply Quote 0
      • F Offline
        Futurepast
        last edited by

        This may help. It's about dynamic components.
        http://www.youtube.com/watch?v=_RLOefRosvw&feature=player_embedded

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

          You might have a look at Chris Fullmer's Component Stringer or PathCopy.

          Etaoin Shrdlu

          %

          (THERE'S NO PLACE LIKE)

          G28 X0.0 Y0.0 Z0.0

          M30

          %

          1 Reply Last reply Reply Quote 0
          • L Offline
            Liverpudlian82
            last edited by

            Thx! Need to learn how to use dynamic components. Not sure if it will safe me any work on my current problem, but will probably be very useful for other purposes πŸ˜„

            The Component Stringer and PathCopy don't solve this one unfortunately ...

            1 Reply Last reply Reply Quote 0
            • BoxB Offline
              Box
              last edited by

              Since you know each chair is .5, dividing the respective B lines by .5 will tell you how many can fit. Then actually divide the B lines by that number. This will give you the centres of each chair. Use Component stringer to place the chair at those points.

              You would probably find it easiest to make blocks of seating, just like they do in real life, and use the various blocks as components to populate the whole stadium.

              1 Reply Last reply Reply Quote 0
              • pilouP Offline
                pilou
                last edited by

                And why not use the normal Move/Copy tool "/" ?
                You draw the first and last seat on a line then type "/" and the numbers of seats wanted!

                Just type again a number if result don't satisfy you! πŸ˜„
                (no need to redraw anything)

                Frenchy Pilou
                Is beautiful that please without concept!
                My Little site :)

                1 Reply Last reply Reply Quote 0
                • L Offline
                  Liverpudlian82
                  last edited by

                  @unknownuser said:

                  And why not use the normal Move/Copy tool "/" ?
                  You draw the first and last seat on a line then type "/" and the numbers of seats wanted!

                  Just type again a number if result don't satisfy you! πŸ˜„
                  (no need to redraw anything)

                  Yap, this is what I have done before. And that is just annoying work to do, because I have like 90 rows and 15 lines in each stadium, so I'd need to do that 1350 times πŸ˜„

                  1 Reply Last reply Reply Quote 0
                  • L Offline
                    Liverpudlian82
                    last edited by

                    @box said:

                    Since you know each chair is .5, dividing the respective B lines by .5 will tell you how many can fit. Then actually divide the B lines by that number. This will give you the centres of each chair. Use Component stringer to place the chair at those points.

                    You would probably find it easiest to make blocks of seating, just like they do in real life, and use the various blocks as components to populate the whole stadium.

                    Well, by doing that I would still need to measure the length of that lines first, wouldn't I?. That won't save me much work, as I would then be faster by the method Pilou mentioned πŸ˜‰

                    The second hint I do not really understand. I do have blocks in my stadium and I only model 1/4 of the stadium anyway, since this is enough to complete it afterwards by making this 1/4 a component. However, each block is different, because the shape of the stadium bowl is not symmetric or should I say "regular". So each block has its own seating pattern unfortunately ..

                    1 Reply Last reply Reply Quote 0
                    • BoxB Offline
                      Box
                      last edited by

                      Click on the line with entity window open and it tells you the length of the line.
                      It's in metres, your seat is half a metre which means two per metre plus one if the line is over .5
                      Eg; line is 36.75m number of seats that will fit 73, line is 36.49m number of seats that will fit 72

                      As to making blocks. Make sections of seats in the same way the manufacturer would. Runs of 10 and 5 etc, so you can just throw together whole sections and not individual seats.

                      So line is 54.87m that's 10x10 + 1x5 + 2x2

                      1 Reply Last reply Reply Quote 0
                      • F Offline
                        Futurepast
                        last edited by

                        This what you want? Rotate the chair any direction and scale it to the right any length.
                        You don't list in your profile if you have the Pro version this is a dynamic component.


                        stadium chair.skp

                        1 Reply Last reply Reply Quote 0
                        • pilouP Offline
                          pilou
                          last edited by

                          "because I have like 90 rows and 15 lines in each stadium, so I'd need to do that 1350 times"
                          I am quasi sure that you have some symmetry? πŸ˜‰
                          And you can make some copy / past !

                          Frenchy Pilou
                          Is beautiful that please without concept!
                          My Little site :)

                          1 Reply Last reply Reply Quote 0
                          • L Offline
                            Liverpudlian82
                            last edited by

                            @futurepast said:

                            This what you want? Rotate the chair any direction and scale it to the right any length.
                            You don't list in your profile if you have the Pro version this is a dynamic component.

                            Well, I think that could work, but does not save me any time ... the Copy + ""-method is equally fast/slow ...

                            Anyway, thx for the effort! πŸ˜‰

                            @Pilou: Yap, for sure πŸ˜„ I only model 1/4 of the whole stadium and then copy & past πŸ˜‰

                            This is what the stadium looks like without seats in them yet:

                            http://s7.directupload.net/images/130905/sb3fgk9e.png

                            1 Reply Last reply Reply Quote 0
                            • BoxB Offline
                              Box
                              last edited by

                              Multiple straight lines and repetition of blocks.
                              Would take very little time to populate it with seats.
                              If you filled it with seats it would also slow the model down.

                              1 Reply Last reply Reply Quote 0
                              • jeff hammondJ Offline
                                jeff hammond
                                last edited by

                                @futurepast said:

                                This what you want? Rotate the chair any direction and scale it to the right any length.
                                You don't list in your profile if you have the Pro version this is a dynamic component.

                                (fwiw- suFree can use dynamic components.. just can't create them unless you have the pro version)

                                i think it should be more like this:

                                DC_distribute.skp

                                Screen Shot 2013-09-05 at 11.02.26 PM.png
                                **pretty sure the spacing formula could be refined to something more simple but this is the first go πŸ˜‰

                                but you'll see in the .skp that the block starts and ends at exact points then the gap is populated accordingly.. it could maybe use an if/then statement to set a minimum spacing if desired..

                                this should&could be a distribute plugin imo.. select the component then click on the start and end points.. 1001bit almost does it with one of it's linear array options but not quite..**

                                dotdotdot

                                1 Reply Last reply Reply Quote 0
                                • F Offline
                                  Futurepast
                                  last edited by

                                  @unknownuser said:

                                  @futurepast said:

                                  This what you want? Rotate the chair any direction and scale it to the right any length.
                                  You don't list in your profile if you have the Pro version this is a dynamic component.

                                  (fwiw- suFree can use dynamic components.. just can't create them unless you have the pro version)

                                  i think it should be more like this:

                                  [attachment=1:2y5hmse8]<!-- ia1 -->DC_distribute.skp<!-- ia1 -->[/attachment:2y5hmse8]

                                  [attachment=0:2y5hmse8]<!-- ia0 -->Screen Shot 2013-09-05 at 11.02.26 PM.png<!-- ia0 -->[/attachment:2y5hmse8]
                                  **pretty sure the spacing formula could be refined to something more simple but this is the first go πŸ˜‰

                                  but you'll see in the .skp that the block starts and ends at exact points then the gap is populated accordingly.. it could maybe use an if/then statement to set a minimum spacing if desired..

                                  this should&could be a distribute plugin imo.. select the component then click on the start and end points.. 1001bit almost does it with one of it's linear array options but not quite..**

                                  Except that the spacing you have gets narrower with the greater distribution, and I thought he wanted repetition on spacing, with the row ends being the adjustment. As in, start at the center and scale out to both ends, leaving the remainder as the row ends.

                                  1 Reply Last reply Reply Quote 0
                                  • jeff hammondJ Offline
                                    jeff hammond
                                    last edited by

                                    @futurepast said:

                                    Except that the spacing you have gets narrower with the greater distribution, and I thought he wanted repetition on spacing, with the row ends being the adjustment. As in, start at the center and scale out to both ends, leaving the remainder as the row ends.

                                    hmm.. yeah, maybe.. not really sure as i've never dealt with stadium seating layouts.. i just assumed the row ends formed a straight line when going up a column.

                                    but it seems to make sense from a manufacturing point of view to have the spacing remain consistent.. your version of the DC could be updated to where it centers the array upon scaling the length.. that will save a few extra steps of moving it in place after scaling.

                                    i guess it depends on whether or not liverpudlian wants to use a DC for this or not (though it's definitely going to be the quickest way imo)

                                    dotdotdot

                                    1 Reply Last reply Reply Quote 0
                                    • L Offline
                                      Liverpudlian82
                                      last edited by

                                      @unknownuser said:

                                      @futurepast said:

                                      Except that the spacing you have gets narrower with the greater distribution, and I thought he wanted repetition on spacing, with the row ends being the adjustment. As in, start at the center and scale out to both ends, leaving the remainder as the row ends.

                                      but it seems to make sense from a manufacturing point of view to have the spacing remain consistent..

                                      Erm, actually I want the spacing between seats to be varible, with the first and last seat exactly on the start and end of the row (as indicated by the image in my opening post) ... otherwise one gets ugly looking "kinks" in the stands like this:

                                      http://s14.directupload.net/images/130906/6x9ery5u.png

                                      I prefer the solution with variable spacing in each row, as this will look smoother in a stadium like this:
                                      http://texasproud.com/files/2012/02/cowboys-stadium1.jpeg

                                      πŸ˜‰

                                      1 Reply Last reply Reply Quote 0
                                      • F Offline
                                        Futurepast
                                        last edited by

                                        Jeff, you got it πŸ˜„

                                        1 Reply Last reply Reply Quote 0
                                        • pbacotP Offline
                                          pbacot
                                          last edited by

                                          Will be interesting to see how this goes or if SU can handle all those seats.

                                          Find it hard to believe people crowd into those nosebleed tiers to watch that crap. But of course they do. Everyone to his or her own. Not that I've never enjoyed being at a game myself.

                                          MacOSX MojaveSketchUp Pro v19 Twilight v2 Thea v3 PowerCADD

                                          1 Reply Last reply Reply Quote 0
                                          • jeff hammondJ Offline
                                            jeff hammond
                                            last edited by

                                            @pbacot said:

                                            Will be interesting to see how this goes or if SU can handle all those seats.

                                            hmm.. i don't think i want to be the one that finds out πŸ˜„


                                            here's a low-poly dynamic chair (120 faces).. i'm not sure if this is a real style design but i guess it would have to be done similarly in order to get variable seat spacing.. after doing a small sample, you might want to consider making it even more low poly..

                                            DC_StadiumChair.skp

                                            how to use:

                                            Position the chairs using the raw line as reference points..

                                            Array the chairs up the rows

                                            use the Scale tool on each row to desired length..

                                            in doing the example, i encountered one situation where the DC would no longer update.. i had to save the file at that point then relaunch sketchup in order to get the DCs working again..

                                            there's a guide point in the seat which can be used as a reference to rotate the seat into an upright position..

                                            good luck πŸ˜„

                                            dotdotdot

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement