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

    [Plugin] bim-tools 0.13.4(june 22, 2015)

    已排程 已置頂 已鎖定 已移動 Plugins
    206 貼文 37 Posters 218.9k 瀏覽 37 Watching
    正在載入更多貼文
    • 從舊到新
    • 從新到舊
    • 最多點贊
    回覆
    • 在新貼文中回覆
    登入後回覆
    此主題已被刪除。只有擁有主題管理權限的使用者可以查看。
    • U 離線
      unclex
      最後由 編輯

      0.12.4 work fine
      but 13.0 cannot work like 12.4 @su2015x64pro

      such as several box could be converted to wall&floor by just one click using 12.4
      but 13.0, some faces cannot be converted

      1 條回覆 最後回覆 回覆 引用 0
      • brewskyB 離線
        brewsky
        最後由 編輯

        @unclex said:

        0.12.4 work fine
        but 13.0 cannot work like 12.4 @su2015x64pro

        such as several box could be converted to wall&floor by just one click using 12.4
        but 13.0, some faces cannot be converted

        Can you send me an example model (PM?), then I'll check it out.
        In my own tests the new 0.13.0 worked on more faces than 0.12.4, so I'm curious... 😄
        Thanks for posting the issue!

        Sketchup BIM-Tools - http://sketchucation.com/forums/viewtopic.php?p=299107

        1 條回覆 最後回覆 回覆 引用 0
        • U 離線
          unclex
          最後由 編輯

          Now I Know What Happened

          12.4 can work under customized catalogue, 13.0 not

          and 13.0, if you have cleaned bim information, you must run SU again, Using File→New could not worked, isn't ?

          BimToolBoxTest.7z

          1 條回覆 最後回覆 回覆 引用 0
          • brewskyB 離線
            brewsky
            最後由 編輯

            @unclex said:

            Now I Know What Happened

            12.4 can work under customized catalogue, 13.0 not

            and 13.0, if you have cleaned bim information, you must run SU again, Using File→New could not worked, isn't ?

            Thanks! You're probably right, I also had some trouble changing between models without restarting SU a couple of weeks ago, I thought I fixed that. I will check it out!

            Sketchup BIM-Tools - http://sketchucation.com/forums/viewtopic.php?p=299107

            1 條回覆 最後回覆 回覆 引用 0
            • brewskyB 離線
              brewsky
              最後由 編輯

              @unclex said:

              if you have cleaned bim information, you must run SU again, Using File→New could not worked, isn't ?

              Okay, I completely uprooted the observers that keep track of the active entities, and it seems much more solid now 😄

              Can you give it a try before I upload it into the PluginStore?
              Thanks!

              Sketchup BIM-Tools - http://sketchucation.com/forums/viewtopic.php?p=299107

              1 條回覆 最後回覆 回覆 引用 0
              • brewskyB 離線
                brewsky
                最後由 編輯

                New version 0.13.2 online!

                Feels much more solid due to improved observers 😄

                Sketchup BIM-Tools - http://sketchucation.com/forums/viewtopic.php?p=299107

                1 條回覆 最後回覆 回覆 引用 0
                • T 離線
                  twillm
                  最後由 編輯

                  Is bim-tools compatible with mac version of sketchup 2015.
                  I attempted to install using sketchucation plugin store v2.6.1
                  Received error messageError Loading File /Users/trevormeakin/Library/Application Support/SketchUp 2015/SketchUp/Plugins/bim-tools/bim-tools_loader.rb
                  Error: #<NoMethodError: undefined method strip' for nil:NilClass> /Users/trevormeakin/Library/Application Support/SketchUp 2015/SketchUp/Plugins/bim-tools/lib/clsDefaultValues.rb:40:in block in parse_config'
                  /Users/trevormeakin/Library/Application Support/SketchUp 2015/SketchUp/Plugins/bim-tools/lib/clsDefaultValues.rb:34:in each_line' /Users/trevormeakin/Library/Application Support/SketchUp 2015/SketchUp/Plugins/bim-tools/lib/clsDefaultValues.rb:34:in parse_config'
                  /Users/trevormeakin/Library/Application Support/SketchUp 2015/SketchUp/Plugins/bim-tools/lib/clsDefaultValues.rb:23:in initialize' /Users/trevormeakin/Library/Application Support/SketchUp 2015/SketchUp/Plugins/bim-tools/clsBtProject.rb:43:in new'
                  /Users/trevormeakin/Library/Application Support/SketchUp 2015/SketchUp/Plugins/bim-tools/clsBtProject.rb:43:in initialize' /Users/trevormeakin/Library/Application Support/SketchUp 2015/SketchUp/Plugins/bim-tools/bim-tools_loader.rb:44:in new'
                  /Users/trevormeakin/Library/Application Support/SketchUp 2015/SketchUp/Plugins/bim-tools/bim-tools_loader.rb:44:in <module:BimTools>' /Users/trevormeakin/Library/Application Support/SketchUp 2015/SketchUp/Plugins/bim-tools/bim-tools_loader.rb:19:in module:Brewsky'
                  /Users/trevormeakin/Library/Application Support/SketchUp 2015/SketchUp/Plugins/bim-tools/bim-tools_loader.rb:18:in <top (required)>' /Applications/SketchUp 2015/SketchUp.app/Contents/Resources/Content/Tools/extensions.rb:197:in require'
                  /Applications/SketchUp 2015/SketchUp.app/Contents/Resources/Content/Tools/extensions.rb:197:in load' /Users/trevormeakin/Library/Application Support/SketchUp 2015/SketchUp/Plugins/bim-tools.rb:48:in register_extension'
                  /Users/trevormeakin/Library/Application Support/SketchUp 2015/SketchUp/Plugins/bim-tools.rb:48:in <module:BimTools>' /Users/trevormeakin/Library/Application Support/SketchUp 2015/SketchUp/Plugins/bim-tools.rb:35:in module:Brewsky'
                  /Users/trevormeakin/Library/Application Support/SketchUp 2015/SketchUp/Plugins/bim-tools.rb:31:in `<top (required)>'

                  Any suggestions would be most welcome

                  1 條回覆 最後回覆 回覆 引用 0
                  • brewskyB 離線
                    brewsky
                    最後由 編輯

                    @twillm said:

                    Is bim-tools compatible with mac version of sketchup 2015.
                    I attempted to install using sketchucation plugin store v2.6.1
                    Received error message

                    Thanks for posting this issue!
                    I believe it used to work on Mac, but have never been able to test it myself.
                    I will try to borrow a Mac and check it out 😉

                    The error is related to reading the config file, did you by any chance modify that file?

                    Sketchup BIM-Tools - http://sketchucation.com/forums/viewtopic.php?p=299107

                    1 條回覆 最後回覆 回覆 引用 0
                    • T 離線
                      twillm
                      最後由 編輯

                      Thank you for the response.
                      I didn't make any changes to files.
                      Deleted plugin this morning and reinstalled through sketchucation plugin with similar error message.

                      1 條回覆 最後回覆 回覆 引用 0
                      • S 離線
                        steve69
                        最後由 編輯

                        Unpacked files in plugins folder..
                        bim-tools.rb
                        bim-tools folder

                        @ Sku 7.1 startup
                        Error Loading File C:/Program Files/Google/Google SketchUp 7/Plugins/bim-tools/bim-tools_loader.rb
                        No such file to load -- pathnameError Loading File bim-tools.rb
                        No such file to load -- pathnameError Loading File bim-tools_loader.rb
                        undefined method `strip' for nil:NilClass

                        1 條回覆 最後回覆 回覆 引用 0
                        • Dan RathbunD 離線
                          Dan Rathbun
                          最後由 編輯

                          @steve69 said:

                          @ Sku 7.1 startup

                          Really? 6 year old version and 15 releases behind ? (Trimble has long stopped supporting v7.x.)

                          Does BIM-Tools even support v7.1 ?

                          I'm not here much anymore.

                          1 條回覆 最後回覆 回覆 引用 0
                          • Dan RathbunD 離線
                            Dan Rathbun
                            最後由 編輯

                            @Jan:
                            /bim-tools/lib/clsDefaultValues.rb:40

                            Single argument String subscripts are one of the breaking changes from Ruby 1.8 to 2.0.

                            The workaround is line[0,1], ie., [position, length] or give a range [0..0]

                            The single argument will definitely not work in SU2013 and earlier, as Ruby 1.8 returns an integer for the character's position in the ASCII character set.

                            I'm not here much anymore.

                            1 條回覆 最後回覆 回覆 引用 0
                            • brewskyB 離線
                              brewsky
                              最後由 編輯

                              @steve69 said:

                              @ Sku 7.1 startup

                              Hmmm I have not been testing on old versions, I'll check it out, maybe it's easily fixed... 😉

                              Sketchup BIM-Tools - http://sketchucation.com/forums/viewtopic.php?p=299107

                              1 條回覆 最後回覆 回覆 引用 0
                              • brewskyB 離線
                                brewsky
                                最後由 編輯

                                @dan rathbun said:

                                Single argument String subscripts are one of the breaking changes from Ruby 1.8 to 2.0.

                                Hi Dan, thanks for helping out! 😄 That fixes one error! 😉
                                SketchUp even seems to drops out here before the strip-string, on requiring the "pathname" module.
                                I guess that's one of the modules that was missing in the old 1.8 stripped ruby environment.

                                still some more warnings to wade through I see ...

                                Sketchup BIM-Tools - http://sketchucation.com/forums/viewtopic.php?p=299107

                                1 條回覆 最後回覆 回覆 引用 0
                                • Dan RathbunD 離線
                                  Dan Rathbun
                                  最後由 編輯

                                  @brewsky said:

                                  @dan rathbun said:

                                  SketchUp even seems to drops out here before the strip-string, on requiring the "pathname" module.
                                  I guess that's one of the modules that was missing in the old 1.8 stripped ruby environment.

                                  Yes well it is a Standard Library class (derived from String, I believe.) And the Standard Ruby Library was not included until SketchUp 2014 (when it was released with Ruby 2.0.0.)

                                  Before that, SketchUp was released with only the Core interpreter.

                                  SketchUp 7.1 for Windows users can copy the Ruby 1.8.6-p287 DLL from v8 or v2013, back to the v7 program folder, or get it here at SketchUcation:
                                  ruby-1.8.6-p287-i386-mswin32-dll.zip
                                  (SketchUp 6 & 7 for Windows was released with the ancient Ruby v1.8.0 [initial release] of the Ruby interpreter.)

                                  I have packaged the Ruby 1.8.6-p287 Standard Library up for Windows ONLY, as a normal RBZ SketchUp Extension archive. (It installs into a sub-folder as a plugin would.)
                                  It only loads for SketchUp version 8..13 (or 7.x if the DLL is manually upgraded.)
                                  https://github.com/DanRathbun/sketchup-ruby186-stdlib-extension/releases/tag/1

                                  I'm not here much anymore.

                                  1 條回覆 最後回覆 回覆 引用 0
                                  • brewskyB 離線
                                    brewsky
                                    最後由 編輯

                                    I've been able to remove the dependency on pathname and it's running now on SU7 and SU8.

                                    Although one (probably showstopper) problem remains. Auto-updating of modified objects does not work on SU7 because the "EntitiesObserver.onElementModified" method was added in SU8.
                                    That means updating geometry must be done manually by disabling and re-enabling the observers (red/green button).

                                    New version added to this post, I will add it to the plugin store when I also fixed the MAC issue, but that has to wait a little until I get my hands on a MAC 😉


                                    bim-tools-0.13.3.rbz

                                    Sketchup BIM-Tools - http://sketchucation.com/forums/viewtopic.php?p=299107

                                    1 條回覆 最後回覆 回覆 引用 0
                                    • brewskyB 離線
                                      brewsky
                                      最後由 編輯

                                      Hi Dan,

                                      I also removed a "tap"-call because it was added in ruby 1.9.
                                      Would you consider this a good substitute? Or would it be much slower?

                                      hash = {}.tap{ |r| bt_entities.each{ |ent| ent.properties_editable.each{ |k,v| (r[k]||=[]) << v } } }
                                      
                                      hash = bt_entities.inject({}) {|h,ent| ent.properties_editable.each{ |k,v| (h[k]||=[]) << v}; h}
                                      

                                      something I borrowed from:
                                      http://stackoverflow.com/questions/5490952/merge-array-of-hashes-to-get-hash-of-arrays-of-values

                                      Sketchup BIM-Tools - http://sketchucation.com/forums/viewtopic.php?p=299107

                                      1 條回覆 最後回覆 回覆 引用 0
                                      • Dan RathbunD 離線
                                        Dan Rathbun
                                        最後由 編輯

                                        .
                                        Well the 1st thing I had to do is proper indentation:

                                        hash = {}.tap {|r|
                                          bt_entities.each {|ent|
                                            ent.properties_editable.each {|k,v|
                                              (r[k]||=[]) << v
                                            } 
                                          } 
                                        }
                                        
                                        

                                        and

                                        hash = bt_entities.inject({}) {|h,ent|
                                          ent.properties_editable.each {|k,v|
                                            (h[k]||=[]) << v
                                          }
                                          h
                                        }
                                        
                                        

                                        Then the 2nd thing, is that Ruby is designed for easily read and understood code. (Why I like it so much.)

                                        I do not understand why some coders go out of their way, to write minimalist hard to read and understand code. Come back 3 years from now and see if the coder remembers what the code is supposed to do, without spending a half hour consulting method documentation, etc.

                                        3. Re., inject(), in the past in pre-YARV Ruby, it was notoriously slow. But things have gotten better.

                                        4. My opinion of tap() is that it might be nifty, but it will serve mostly to contribute to ugly code.

                                        5. I'd just do it simple like this:

                                        
                                        hash = Hash;;new {|h,key| h[key]=[] }
                                        
                                        bt_entities.each {|ent|
                                          ent.properties_editable.each {|k,v| hash[k] << v }
                                        } 
                                        
                                        

                                        I'm not here much anymore.

                                        1 條回覆 最後回覆 回覆 引用 0
                                        • brewskyB 離線
                                          brewsky
                                          最後由 編輯

                                          @dan rathbun said:

                                          .
                                          I do not understand why some coders go out of their way, to write minimalist hard to read and understand code. Come back 3 years from now and see if the coder remembers what the code is supposed to do, without spending a half hour consulting method documentation, etc.

                                          LOL Thank you very much! I totally agree with you. It indeed seemed a nifty piece of code I found on stackoverflow, but every time I needed to edit it, it took me half an hour to re-interpret it(and I'm still not 100% sure how the tap works).
                                          Now you write it out it does not seem so difficult anymore 😄
                                          I should have added the indentation myself the moment I tried to understand what it did 😕

                                          Sketchup BIM-Tools - http://sketchucation.com/forums/viewtopic.php?p=299107

                                          1 條回覆 最後回覆 回覆 引用 0
                                          • Dan RathbunD 離線
                                            Dan Rathbun
                                            最後由 編輯

                                            @brewsky said:

                                            ... and I'm still not 100% sure how the tap works 😕

                                            It is very similar to the map! / collect! methods for Enumerable objects. So you could use map! in place of tap for arrays.

                                            But, in Ruby 2.0, tap is defined in Object, not just enumerable classes, so every object can "tap" into a block of code that can change and then return itself.

                                            So tap is kind of like a general purpose "bang" method, but designed for especially for chaining so it always returns it's receiver object, whether it made changes or not. ("Bang" methods usually return nil when they do not make changes to the receiver, making them unsuitable for method chaining.)

                                            I'm not here much anymore.

                                            1 條回覆 最後回覆 回覆 引用 0
                                            • 1
                                            • 2
                                            • 7
                                            • 8
                                            • 9
                                            • 10
                                            • 11
                                            • 10 / 11
                                            • 第一個貼文
                                              最後的貼文
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement