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

    Quick Selection

    Scheduled Pinned Locked Moved Plugins
    15 Posts 7 Posters 799 Views 7 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.
    • Dave RD Offline
      Dave R
      last edited by

      It throws up this error message for me. I expect Didier needs to update it.

      Error: #<SyntaxError: <main>: unterminated string meets end of file> -e:1:ineval'
      nil`

      Etaoin Shrdlu

      %

      (THERE'S NO PLACE LIKE)

      G28 X0.0 Y0.0 Z0.0

      M30

      %

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

        oh, ok, thanks; all gobbldy-gook to me πŸ˜‰

        hope there's un update in the pipeline 'cos it a very good plugin...

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

          Tig posted a fix for some of Didier's plugins, it may work for this one too.

          @unknownuser said:

          Didier needs to rework his rb file for v2014 compatibility and republish it...

          BUT you can do it temporarily for your own use, even though his script is 'packed'.
          Open the file lines2tubes.rb in Notepad, and go to the end:
          Change
          ...}.unpack("m").to_s
          to read
          ...}.unpack("m")[0]
          Save the changes.
          Restart SketchUp.

          The script will then load and work in v2014 !

          This simple fix can be applied to any of Didier's 'packed' scripts that aren't working in v2014.

          These edited scripts will also load and work in earlier SketchUp versions too... πŸ€“

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

            thankyou, that worked for me !

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

              Hi,

              All worked for a while in 2014, but in 2015 and last updated version 2014, I get this error when trying to use the quick selection tool...

              "Starting quick selection...
              Parsing objects with option: All visible objects
              Error: #<NameError: uninitialized constant Set>
              (eval):63:in build_searchable_entities' (eval):495:in quick_selection'
              (eval):691:in qs' (eval):710:in block in <top (required)>'
              -e:1:in `call'"

              any ideas please ?

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

                @paddyclown said:

                Error: #<NameError: uninitialized constant Set>

                Sketchup removed Set it now users Sketchup::Set

                you could add

                require('set')
                

                at the top of the script...

                it may then work, otherwise it needs a proper fix...
                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
                • P Offline
                  paddyclown
                  last edited by

                  John, Thanks for the idea... it just made SU bugsplat on start... so i undid the change in order to work; I guess we just have to hope D Bur has a moment to update this plugin which was brilliant !

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

                    You can replace all occurrences in the script from Set.new with Sketchup::Set.new

                    Hi

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

                      Jim,
                      Thankyou ! BingoBongo it works !
                      best,

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

                        @driven said:

                        would it not be better to do a search and replace changing Set to Sketchup::Set in the script...

                        Yes.

                        I edited my example to remove the code snippet - it's a very bad idea.

                        Hi

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

                          @driven said:

                          @jim said:

                          This should work.

                          
                          > > if defined?(Sketchup;;Set)
                          > >   Set = Sketchup;;Set
                          > > end
                          > > 
                          

                          I was going to suggest that, but what happens if another ruby has already used require 'set'?

                          would it not be better to do a search and replace changing Set to Sketchup::Set in the script...
                          john

                          That shim should be done in the extension namespace - then it's all fine. It should NOT be done in the global namespace as that will clash.

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

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

                            I edited my snippet - it was a bad example without the namespace.

                            Better to just find and replace Set.new with Sketchup::Set.new

                            Hi

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

                              @jim said:

                              This should work.

                              
                              > Edit; removed Jim's example
                              > 
                              

                              I was going to suggest that, but what happens if another ruby has already used require 'set'?

                              would it not be better to do a search and replace changing Set to Sketchup::Set in the script...
                              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
                              • Dan RathbunD Offline
                                Dan Rathbun
                                last edited by Dan Rathbun

                                The easiest fix for Ruby 2 and higher, is to use a refinement that only that file can "see" and use.
                                I inserted the following at the top of the file (after deleting the Set reassignment):

                                require 'set'
                                
                                # Create a refinement for the Set class:
                                module DBUR
                                  module RefinedSet
                                    refine ::Set do
                                      alias :insert :add
                                      alias :contains? :include?
                                    end
                                  end
                                end
                                
                                # Use the refinement:
                                using DBUR::RefinedSet
                                

                                By request from @paddyclown, here is the "fixed" file.
                                It still needs a drastic overhaul, but this will get it working (fingers crossed):

                                DBUR_QuickSelection.rb

                                @Didier-Bur ping (I do not know how to send this by PM in this new forum interface.)

                                I'm not here much anymore.

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

                                Advertisement