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

    [Plugin] Component Stringer UPDATED May 23, 2013

    Scheduled Pinned Locked Moved Plugins
    173 Posts 73 Posters 1.1m Views 73 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.
    • Chris FullmerC Offline
      Chris Fullmer
      last edited by

      Hmm, good idea. That is not the way it works, but it would be fairly easy to implement (I think). No guarantees how fast I'll get it done, but I'll try to put this feature in the mext release.

      Chris

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

      1 Reply Last reply Reply Quote 0
      • JClementsJ Offline
        JClements
        last edited by

        In the attached I have component which I have attempted to string along a path in an orientation similar to that of the component. I've played with changing the component's axis but can't seem to get it right by only changing the component axis (rotating the component and then reseting its axis can work).

        Chris, what is the secret? Your video mentions setting the blue axis but what of the red and green and at what corner of the component?

        Signed, all strung out.
        John


        STRINGER - What are the rules to getting component oriented on path correctly.skp

        John | Illustrator | Beaverton, Oregon

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

          Hi John, I set is up so that the blue axis in the component lines itseful up with the line spegment it is being placed on in the path. That is as much as I control directly in the script. The x and y axes are determined through what SU calls "an arbitrary axis rule." Digging into this, it appears that once I set the blue axis, SU forces the component's red axis to lie flat on the x,y plane. Then the component orients itself so that the green axis is pointing in a positive direction (always pointing slightly upard, or completely upward if the path being followed is flat on the ground).

          So, if your path is flat, then the blue will follow the segment it is to stetch over. And the green will point upwards in the model's blue direction.

          But once your path gets off the flat x,y plane, the it gets a little trickier to guess how the pices will orient themselves.

          Sorry thats not much help,

          Chris

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

          1 Reply Last reply Reply Quote 0
          • JClementsJ Offline
            JClements
            last edited by

            Thanks, Chris. Helps make things a bit more predictable.

            John | Illustrator | Beaverton, Oregon

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

              @cadfather said:

              Thanks Chris

              it's funny how many different angles you land on sketchup from..

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

                @unknownuser said:

                Suggestion
                A rotation (s) of object on it own axis?
                A scale of object?

                What I wished for a while now.... http://forums.sketchucation.com/viewtopic.php?f=180&t=19204&hilit=+copy+rotate+scale
                I wish I could explain!!!

                purpose/expression/purpose/....

                1 Reply Last reply Reply Quote 0
                • K Offline
                  KXI System
                  last edited by

                  Chris, I love your tools but just one thing...

                  This plugin I can't get to work for some reason, I even reinstalled it. Nothing happens when I even activate it, here is what I get in the Ruby console:

                  Error: #<NoMethodError: undefined methoddefinition' for nil:NilClass>
                  C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:103:in main' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190 C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190:in call'
                  See Chris? a little help here?`

                  Getting the perfect sig is hard...

                  Google it!

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

                    Thank you for reporting the error with the error codes from the console, helps spped things up a bit!

                    It looks like you do not have a component selected when you start the script. So make sure that you select a component first, then start the script.

                    If that does not fix it, please upload a test model that you are having problems with and I'll test it.

                    Chris

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

                    1 Reply Last reply Reply Quote 0
                    • K Offline
                      KXI System
                      last edited by

                      Chris,

                      After a few moments of struggle I found out that the script works after a few failures...
                      But what I have found is that sometimes the selected component changes during action, see attachments:

                      Bug1.skp
                      Ruby Console:
                      No reversing needed Error: #<NoMethodError: undefined methodposition' for nil:NilClass>
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:137:in main' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:134:in each_with_index'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:134:in each' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:134:in each_with_index'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:134:in main' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190 C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190:in call'.`
                      Note: 1 try only

                      Bug2.skp
                      Ruby Console:
                      Error: #<NoMethodError: undefined methodedges' for nil:NilClass>
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:59:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in times'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:105:in main'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190:in call' Error: #<NoMethodError: undefined method edges' for nil:NilClass>
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:59:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in times'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:105:in main'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190:in call' Error: #<NoMethodError: undefined method edges' for nil:NilClass>
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:59:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in times'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:105:in main'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190:in call' Error: #<NoMethodError: undefined method edges' for nil:NilClass>
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:59:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in times'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:105:in main'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190:in call' Error: #<ArgumentError: Cannot convert argument to Sketchup::Point3d> C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:79:in add_text'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:79:in curve_labeler' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:70:in curve_ordering'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:105:in main' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190 C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190:in call'
                      Error: #<NoMethodError: undefined method definition' for nil:NilClass> C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:103:in main'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190:in call' Error: #<NoMethodError: undefined method edges' for nil:NilClass>
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:59:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in times'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:105:in main'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190:in call' Error: #<NoMethodError: undefined method edges' for nil:NilClass>
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:59:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in times'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:105:in main'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190:in call' Error: #<NoMethodError: undefined method edges' for nil:NilClass>
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:59:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in times'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:105:in main'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190:in call' Error: #<NoMethodError: undefined method edges' for nil:NilClass>
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:59:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in times'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:105:in main'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190:in call' Error: #<NoMethodError: undefined method edges' for nil:NilClass>
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:59:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in times'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:105:in main'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190:in call' Error: #<NoMethodError: undefined method edges' for nil:NilClass>
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:59:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in times'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:105:in main'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190:in call' Error: #<NoMethodError: undefined method edges' for nil:NilClass>
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:59:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in times'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:105:in main'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190:in call' Error: #<NoMethodError: undefined method edges' for nil:NilClass>
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:59:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in times'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:56:in curve_ordering' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:105:in main'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190:in call'
                      Note 10+ tries, no result

                      Bug3.skp
                      Ruby Console:
                      No reversing needed Error: #<NoMethodError: undefined methodposition' for nil:NilClass>
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:137:in main' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:134:in each_with_index'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:134:in each' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:134:in each_with_index'
                      C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:134:in main' C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190 C:/Program Files/Google/Google SketchUp 7/Plugins/clf_component_stringer.rb:190:in call'`
                      Note 1 try, "big" problem

                      Getting the perfect sig is hard...

                      Google it!

                      1 Reply Last reply Reply Quote 0
                      • simon le bonS Offline
                        simon le bon
                        last edited by

                        Hello Chris, Hello everybody,
                        I'm back for a little addition in using Component Stringer.

                        I have had the idea to use a progressive segmented curve in conjunction with Component Stringer for various interesting effects.
                        It exists a Fredo's tool :Fredo_BZ__Animation which can do the goal. But it is build for animation matters and I had found it not enough flexible for my purpose.

                        So I have made a small tut to make our Own BZ_animation Curve

                        I have made some exemples, not very subtle I guess but I think the idea is shown 😉


                        http://i274.photobucket.com/albums/jj245/Spendauballet/SketchUp/temple1300_02_th.jpg


                        http://i274.photobucket.com/albums/jj245/Spendauballet/SketchUp/temple1300_03_th.jpg

                        *s

                        1 Reply Last reply Reply Quote 0
                        • brookefoxB Offline
                          brookefox
                          last edited by

                          Well, I'm happy to post this homely little picture: my first entry into the well-worn spiral stair saga. Contents: the usual suspects: one set of edges, one component (soon to be tuned and embellished with stringers, railings etc.). Why bother this thread? I just thought maybe a point or two needed clarification: In this case the length of each edge determines the displacement of the component, and the component cannot touch the edges or the routine will not work (for me).

                          Thanks, Chris!!

                          (For me, it would be nice if the settings were sticky across uses.)


                          Capture3.JPG

                          ~ Brooke

                          1 Reply Last reply Reply Quote 0
                          • J Offline
                            jackalvn
                            last edited by

                            Hi Chris, Hi All.
                            I used the plugin to make an array of component along a path, but it only create one component at the start of the path and nothing else.
                            I don't know what i do wrong. Any help?
                            One more thing: The plugin don't give me a choice of inputting distance between components (like Copy to spacing in Copy along path plugin). Or I miss something?
                            Thanks for your attention!

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

                              Hi Hu. There is no option for spacing. It always inserts a component at each line segment. There is no way to skip line segments, or evenly space components over uneven lengthed lines.

                              It should not stop after a single component though. Could you upload the test model where this happened? Thanks,

                              Chris

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

                              1 Reply Last reply Reply Quote 0
                              • T Offline
                                tomislavm
                                last edited by

                                Thank You Chris!

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

                                  great plugin, thanks alots

                                  1 Reply Last reply Reply Quote 0
                                  • pep75P Offline
                                    pep75
                                    last edited by

                                    unbelievable! Well this is an essential plugin! What can they still do at Google?

                                    SU has become a full functional modeller at the moment...

                                    Thanks Chris!

                                    1 Reply Last reply Reply Quote 0
                                    • G Offline
                                      grim
                                      last edited by

                                      chris
                                      the video shows a great tool and i have put it to the test, i build a chain link and made it a component, however when i apply the plug in it spaces the component far apart and rotates it in odd positions a can not seem to imitate the steps you show in the tutorial video 👿 is there a problem with this script?

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

                                        @unknownuser said:

                                        is there a problem with this script?

                                        no 😄

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

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

                                          Hi Grim, it is important to pay attention to the x-component axis. This plugin uses the component axis to place the component. So you are going to have to make sure that the axis is placed very strategically. You can post you test model if you are still unable to get it to work,

                                          Chris

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

                                          1 Reply Last reply Reply Quote 0
                                          • simon le bonS Offline
                                            simon le bon
                                            last edited by

                                            @unknownuser said:

                                            I have found no solution to make the flat stakes to follow the path while they are planted vertically (=invariable direction+ following direction) ❓ ❓

                                            http://i274.photobucket.com/albums/jj245/Spendauballet/SketchUp/BarriereBucolique04th.jpg

                                            Well.., I've found a hand-assisted solution 😉

                                            Fredo6 [Plugin] Tools On Surface - v1.5f

                                            http://i274.photobucket.com/albums/jj245/Spendauballet/SketchUp/clf_CompString_016th.jpg

                                            Fredo6 [Plugin] BezierSpline v1.21

                                            http://i274.photobucket.com/albums/jj245/Spendauballet/SketchUp/clf_CompString_017th.jpg

                                            I assume I want the stakes are to be regularly spaced, non depending of the declivity. So The 3D curve must be regularly segmented (Segmented Polyline) before to be projected on the wall and on the floor.
                                            (Re: if reversely we want the stakes planted depending of the déclivity, the segmentation must be done after curve projection on the floor and on the wall.)
                                            Didier Bur [plugin] Projections version 2

                                            http://i274.photobucket.com/albums/jj245/Spendauballet/SketchUp/clf_CompString_018th.jpg


                                            http://i274.photobucket.com/albums/jj245/Spendauballet/SketchUp/clf_CompString_019th.jpg

                                            The long rectangle set as component, distributed along the wall projected curve using Component Stringer is going to be used as a gauge. A line of this rectangle fall in coincidence with the initial 3D curve. This intersection is the point where to move each stake placed on the ground.
                                            (Re: 1)ground face is deleted to make the process easy.
                                            2)Move tool is used with Up arrow to constraint the moving on the blue direction)


                                            http://i274.photobucket.com/albums/jj245/Spendauballet/SketchUp/clf_CompString_020th.jpg

                                            http://i274.photobucket.com/albums/jj245/Spendauballet/videos/CompStringFence01.gif

                                            (The same on Youtube )

                                            [flash=575,360:1p7pi4pm]http://www.youtube.com/v/zDAQYT0jk6k[/flash:1p7pi4pm]


                                            http://i274.photobucket.com/albums/jj245/Spendauballet/SketchUp/clf_CompString_021th.jpg


                                            http://i274.photobucket.com/albums/jj245/Spendauballet/SketchUp/clf_CompString_022th.jpg


                                            http://i274.photobucket.com/albums/jj245/Spendauballet/SketchUp/clf_CompString_023th.jpg


                                            http://i274.photobucket.com/albums/jj245/Spendauballet/SketchUp/clf_CompString_024th.jpg

                                            😒 Simon

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

                                            Advertisement