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.
    • P Offline
      paddyclown
      last edited by

      Hi all, quick question:

      Has anyone else tried to install "quickselection.rb" by D Bur in SU2014 ?
      I put it in the correct plugin folder, I get no error message on starting SU2014, yet it just doesn't show up in the Edit menu (works fine in SU2013) ? And since I have no idea how to invoke it via a ruby console command, I can't force it to run to see if it comes up with an error code...
      Thanks if anyone has any ideas...

      Best,

      1 Reply Last reply Reply Quote 0
      • 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