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

    [Plugin] SketchUcation Tools 2.6.1

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

      The attached files redo the method, hopefully avoiding the gsub completely.
      The recode also replaces the '' with '/' in the folder-paths just in case.
      I am unclear how a 'string' passed into the $: could be frozen when pushed into there ?
      The gsub! manipulation occurred in a 'clone' of the $: anyway !
      Let's see what the OP finds...

      TIG

      1 條回覆 最後回覆 回覆 引用 0
      • thomthomT 離線
        thomthom
        最後由 編輯

        @tig said:

        I am unclear how a 'string' passed into the $: could be frozen when pushed into there ?

        When adding objects to arrays you pass a reference - so the string could have been locked before pushed. That doesn't sound like something Ruby itself does, but it could be an extension that did it. For instance, it could create a constant to it's support folder - and then freeze it in order to protect its constant from inadvertent change. Then it could have pushed it to $; for convenience (all though that would be bad practice IMO).

        In any case - when iterating or fetching values external to your own extension, be careful to use methods that modify the object. Make sure to copy it as Ruby as the objects you pass around will refer to the same memory. http://stackoverflow.com/a/10974116/486990

        So if you iterate $: and use gsub you will be modifying the content of $: which might lead to unexpected result for the rest of the system.

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

        1 條回覆 最後回覆 回覆 引用 0
        • C 離線
          caecarvalho
          最後由 編輯

          @unknownuser said:

          Looks like there is nothing odd about your $: 😕

          Looks like a permissions issue to me...
          Find C:\Users\CAETANO\AppData\Roaming\SketchUp\SketchUp 2015\SketchUp
          then with Admin powers, step up one level and select its folder-icon,
          ensure it has FULL permissions set for ALL those listed under:
          Right-click > Context-menu > Properties > Security > Edit
          OK/Apply
          Repeat the 'FULL' set up for the folders contents - there should be three subfolders Plugins, Classifications, Tools.
          Ensure that the contents of the 'Plugins' folder are all also set 'FULL'.
          The permission changes should automatically apply to a folder's contents, but just double-check...
          If the 'Plugins' folder is missing try making it ??
          try to delete the folder's "cookiejar.xml" file too - it might be corrupted.

          Restart SketchUp and test...

          If this fails...
          I see you have a Vray installation.
          Can you disable that plugin, restart SketchUp and retry - to see if it is somehow conflicting ?

          Hi Guys,

          I've seen a lot have been discussed, but I had the problem solved the hard way... 😞 Uninstalled everything, deleted all the remaining folders and reinstalled everything again...

          I've tryied everything that TIG said above but still no success... So what I did was:

          • Login as admin and ensured full permissions to every user to folder C:\Users\CAETANO\AppData\Roaming\SketchUp\SketchUp 2015\SketchUp and everything inside it.
            -Deleted the "cookiejar.xml" file.
            After that, ran SU and didn't work... So I disabled VFS and still didn't work...

          So I got mad and unistalled everything!! 😠

          But I'd like to thank you for your time to try to help!

          All the best,

          Caetano

          1 條回覆 最後回覆 回覆 引用 0
          • TIGT 離線
            TIG Moderator
            最後由 編輯

            @thomthom said:

            @tig said:

            I am unclear how a 'string' passed into the $: could be frozen when pushed into there ?

            When adding objects to arrays you pass a reference - so the string could have been locked before pushed. That doesn't sound like something Ruby itself does, but it could be an extension that did it. For instance, it could create a constant to it's support folder - and then freeze it in order to protect its constant from inadvertent change. Then it could have pushed it to $; for convenience (all though that would be bad practice IMO).

            In any case - when iterating or fetching values external to your own extension, be careful to use methods that modify the object. Make sure to copy it as Ruby as the objects you pass around will refer to the same memory. http://stackoverflow.com/a/10974116/486990

            So if you iterate $: and use gsub you will be modifying the content of $: which might lead to unexpected result for the rest of the system.
            It works on a clone of $:, so can I assume that the locked string still passes through that !
            I can trap anyway for a gsub, so it's not critical...
            EDIT:
            After a little more delving I discovered some other potential pitfalls in $: paths containing \ versus / and 'cloning' of frozen strings etc...
            The replacement RBS files in the attached ZIP should now avoid these ??


            PutIntoSketchUcationSubfolder.zip

            TIG

            1 條回覆 最後回覆 回覆 引用 0
            • tt_suT 離線
              tt_su
              最後由 編輯

              @tig said:

              It works on a clone of $:, so can I assume that the locked string still passes through that !

              How do you clone?

              If you do call .clone then you clone the Array object itself - but it's a shallow clone. It doesn't clone all it's internal data.

              <span class="syntaxdefault"><br />x&nbsp;</span><span class="syntaxkeyword">=&nbsp;[</span><span class="syntaxstring">"hello"</span><span class="syntaxkeyword">,&nbsp;</span><span class="syntaxstring">"world"</span><span class="syntaxkeyword">]<br />[</span><span class="syntaxstring">"hello"</span><span class="syntaxkeyword">,&nbsp;</span><span class="syntaxstring">"world"</span><span class="syntaxkeyword">]<br /><br /></span><span class="syntaxdefault">y&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">x</span><span class="syntaxkeyword">.clone<br />[</span><span class="syntaxstring">"hello"</span><span class="syntaxkeyword">,&nbsp;</span><span class="syntaxstring">"world"</span><span class="syntaxkeyword">]<br /><br /></span><span class="syntaxdefault">x</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">object_id<br />88135980<br /><br />y</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">object_id<br />90415700<br /><br />x</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">each&nbsp;</span><span class="syntaxkeyword">{&nbsp;|</span><span class="syntaxdefault">n</span><span class="syntaxkeyword">|&nbsp;</span><span class="syntaxdefault">puts&nbsp;n</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">object_id&nbsp;</span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">88136040<br />88136000<br /></span><span class="syntaxkeyword">[</span><span class="syntaxstring">"hello"</span><span class="syntaxkeyword">,&nbsp;</span><span class="syntaxstring">"world"</span><span class="syntaxkeyword">]<br /><br /></span><span class="syntaxdefault">y</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">each&nbsp;</span><span class="syntaxkeyword">{&nbsp;|</span><span class="syntaxdefault">n</span><span class="syntaxkeyword">|&nbsp;</span><span class="syntaxdefault">puts&nbsp;n</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">object_id&nbsp;</span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">88136040<br />88136000<br /></span><span class="syntaxkeyword">[</span><span class="syntaxstring">"hello"</span><span class="syntaxkeyword">,&nbsp;</span><span class="syntaxstring">"world"</span><span class="syntaxkeyword">]<br />&nbsp;</span><span class="syntaxdefault"></span>
              
              1 條回覆 最後回覆 回覆 引用 0
              • tt_suT 離線
                tt_su
                最後由 編輯

                This article expand on the whole pass-reference-by-value nature of Ruby:
                http://robertheaton.com/2014/07/22/is-ruby-pass-by-reference-or-pass-by-value/

                1 條回覆 最後回覆 回覆 引用 0
                • TIGT 離線
                  TIG Moderator
                  最後由 編輯

                  Is this array.clone versus array.dup ?
                  I have side-stepped that process now anyway, by making a new array and adding items to that...

                  TIG

                  1 條回覆 最後回覆 回覆 引用 0
                  • tt_suT 離線
                    tt_su
                    最後由 編輯

                    @tig said:

                    Is this array.clone versus array.dup ?
                    I have side-stepped that process now anyway, by making a new array and adding items to that...

                    Are you cloning the items you add?

                    1 條回覆 最後回覆 回覆 引用 0
                    • TIGT 離線
                      TIG Moderator
                      最後由 編輯

                      In the format item = (""+d.to_s) where ' d' is the element taken from the array...

                      TIG

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

                        Reminder that obj#clone() copies the frozen state of obj, whilst obj#dup() does not.

                        I'm not here much anymore.

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

                          Back on topic, the person's problems came from the fact that they changed the plugin folder's icon under Windows, which messes up permissions. I've never been able to (comfortably) fix the folder except by re-creating it, copying all it's contents over, and deleting the one the had the changed icon. (...yes even despite the "Repair" button,...)

                          I'm not here much anymore.

                          1 條回覆 最後回覆 回覆 引用 0
                          • W 離線
                            wahoowetzel
                            最後由 編輯

                            Hi All,

                            dumb question maybe, how do I use the plugin store extension with a different profile/how do I change my profile? I want to log into a different account.

                            1 條回覆 最後回覆 回覆 引用 0
                            • Rich O BrienR 離線
                              Rich O Brien Moderator
                              最後由 編輯

                              You can't use multiple accounts on a device.

                              Download the free D'oh Book for SketchUp 📖

                              1 條回覆 最後回覆 回覆 引用 0
                              • W 離線
                                wahoowetzel
                                最後由 編輯

                                So I'm rolling out a profile/bundle of plugins as a standard starting point for an office. I've created a Profile for the office that multiple people will be able to log into in order to get the "standard" package of plugins. If they already have a sketchucation plugin store profile is there no way to allow them to log in to the office profile? What if they re-install sketchup?

                                1 條回覆 最後回覆 回覆 引用 0
                                • Rich O BrienR 離線
                                  Rich O Brien Moderator
                                  最後由 編輯

                                  We have a corporate version that is a managed solution whereby it has its own master account and the remaining devices use its installs.

                                  This prevents the users messing up with different bundles etc.

                                  Download the free D'oh Book for SketchUp 📖

                                  1 條回覆 最後回覆 回覆 引用 0
                                  • W 離線
                                    wahoowetzel
                                    最後由 編輯

                                    That makes sense, I don't have the same need for control here. I just want everyone to have the same starting point, it can evolve beyond that later. This doesn't help me with a solution if someone already has a profile, ie. "log out". Can you offer any suggestions there? Would re-installing sketchup work or no? I'm hesitant to do a test run and re-install anyone's sketchup before knowing what my options are and what may or may not even have an impact.

                                    1 條回覆 最後回覆 回覆 引用 0
                                    • Rich O BrienR 離線
                                      Rich O Brien Moderator
                                      最後由 編輯

                                      My memory is a woolly on the corporate/team version.

                                      I do remember that the master users dictates the bundle to be used and anyone else logging in can only use that bundle.

                                      I'd need to chat with Gabor about it.

                                      But reinstalling SU is not needed.

                                      Download the free D'oh Book for SketchUp 📖

                                      1 條回覆 最後回覆 回覆 引用 0
                                      • jujuJ 離線
                                        juju
                                        最後由 編輯

                                        there seems to be a glitch in the matrix, I'm still getting these banners for verson 2.5?...

                                        red pill or blue ill neo?

                                        Save the Earth, it's the only planet with chocolate.

                                        1 條回覆 最後回覆 回覆 引用 0
                                        • Rich O BrienR 離線
                                          Rich O Brien Moderator
                                          最後由 編輯

                                          looks like you need to reboot your matrix with CTRL+F5...

                                          PicPick-006.png

                                          Download the free D'oh Book for SketchUp 📖

                                          1 條回覆 最後回覆 回覆 引用 0
                                          • jujuJ 離線
                                            juju
                                            最後由 編輯

                                            haha, might be, except the machine I'm on I bought in January 2015 (brand new, virgin), post 1 of this thread was done Sept. 2014.

                                            I need to add that this does not happen all the time, only from time to time that I see the banner ad for 2.5

                                            Save the Earth, it's the only planet with chocolate.

                                            1 條回覆 最後回覆 回覆 引用 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 7
                                            • 5 / 7
                                            • 第一個貼文
                                              最後的貼文
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement