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

    [Plugin] Components manager plugin

    Scheduled Pinned Locked Moved Plugins
    156 Posts 15 Posters 42.7k Views 15 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.
    • thomthomT Offline
      thomthom
      last edited by

      Hi there

      It has been brought to my attention that this plugin can conflict with other plugins. I just got a report from a customer that experienced SketchUp crashing when using Vertex Tools. After debugging it turned out that the crashing stopped once this plugin was disabled.

      I looked at the source code and I identified several problems.

      The main problem is that this plugin uses observers that modifies the model in the observer events. This causes a number of issues, for instances interrupting other tools and plugins. It breaks the currently running operation if you perform model changes in observer events. It's also prone to cause crashes in SketchUp - which is happening here.

      How, there is a pattern one can use to make observers safer, it's demonstrated in a code example published on GitHub: https://github.com/SketchUp/sketchup-safe-observer-events

      It also defines a bunch of methods outside of any module, which in effect defines them in Kernel - which means they become available to every object that exist - big potential for clashing with other plugins.
      It's recommended to contain all methods in a top level module to avoid clashing with other plugins, as well as not using global variables. I've written an article that describes this in more detail:
      http://www.thomthom.net/thoughts/2012/01/golden-rules-of-sketchup-plugin-development/

      Also a checklist of key items to verify when publishing a plugin:
      http://www.thomthom.net/thoughts/2013/02/sketchup-plugin-checklist/

      On a side note, not rleated to clashing, but for the sake of performance; typename is very slow. using is_a? or kind_of? is many times faster.
      http://www.thomthom.net/thoughts/2011/12/never-ever-use-typename/

      It'd be good if you could address the issues that makes your plugin conflict with other plugins. Causing crashes is very unfortunate for the users as they may lose their work.

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

      1 Reply Last reply Reply Quote 0
      • inteloideI Offline
        inteloide
        last edited by

        Hello Thomthom,

        Thank you for your always useful remarks.
        Actually I was working with JQL to solve conflict issues he had with other plugins.
        The new version I just posted should solve the problem.

        I corrected also some coding according your advice :
        I wrapped my file BGSketchup.rb in a module but I kept the global variable because it's used for other plugins (maybe I can change this later). But the global variable has a special name.
        For the other variables they are replaced with module variables as per your advice.

        For observers, I proceed in a new way and I update entity attribute only when user is asking a specific action from the plugins (reload liste, save components, etc...) or when saving the model. Therefore it should be interferring other plugins.
        (sorry, I didn't use your code....yet ;o)

        Once you have made some testing with your plugins and it's running ok, I will update it in the pluginstore to inform all current users.

        Thanks again for your help improving this plugin.

        Inteloide

        Humanity will do a huge step when the IT professionals will understand that computers are tools...

        1 Reply Last reply Reply Quote 0
        • inteloideI Offline
          inteloide
          last edited by

          A bug appeared in my version 1.14.3 rbz file....
          Anyone who download this version must download version 1.14.4 AND remove "BGSketchup_Robot.rb" file from their plugin directory...
          Sorry for this error.

          Inteloide

          Humanity will do a huge step when the IT professionals will understand that computers are tools...

          1 Reply Last reply Reply Quote 0
          • inteloideI Offline
            inteloide
            last edited by

            Hello !

            What about last version of the plugins ? Does it works on your computer ?
            If yes I will upload it in the pluginstore.
            Thank you for your feedbacks !

            Inteloide

            Humanity will do a huge step when the IT professionals will understand that computers are tools...

            1 Reply Last reply Reply Quote 0
            • O Offline
              ole
              last edited by

              Works wonderfully!! Very sophisticated Plugin. I love its power and friendliness.

              It needed Lines 44 and 66 of file BGSketchup.rb changed to delete .chr in my U.S. version of SU8 on win7.

              1 Reply Last reply Reply Quote 0
              • inteloideI Offline
                inteloide
                last edited by

                @ole said:

                Works wonderfully!! Very sophisticated Plugin. I love its power and friendliness.

                It needed Lines 44 and 66 of file BGSketchup.rb changed to delete .chr in my U.S. version of SU8 on win7.

                Hello Ole,

                I don't have SU8 installed anymore on my PC (I have SU2013 and SU2014), therefore I cannot see the error you have. Normally SU 2013 and SU 8 have the same level of ruby but...looks like no 😉

                Could you please send me the exact error you have (in ruby console) in order to solve it ? Because if I remove the .chr, for SU2013 it won't work. I maybe have to have 2 codes depending on SU version...

                Thank for your feedback.
                Inteloide

                Humanity will do a huge step when the IT professionals will understand that computers are tools...

                1 Reply Last reply Reply Quote 0
                • O Offline
                  ole
                  last edited by

                  With version 1.14.4 downloaded from this thread, plugin doesn't crash but nothing happens. I'm still learning how it works.


                  Happens when saving or reloading by right-click.

                  1 Reply Last reply Reply Quote 0
                  • inteloideI Offline
                    inteloide
                    last edited by

                    @ole said:

                    With version 1.14.4 downloaded from this thread, plugin doesn't crash but nothing happens. I'm still learning how it works.

                    Hello Ole,

                    Just post version 1.14.5, which include your modification, in first post of this thread.

                    If you require any help to understand the plugin, you can ask me. Also you have the help file in first post and inside plugins : just click on "about" button and you have a link to the help file.

                    Regards
                    Inteloide

                    Humanity will do a huge step when the IT professionals will understand that computers are tools...

                    1 Reply Last reply Reply Quote 0
                    • OxerO Offline
                      Oxer
                      last edited by

                      Hi Inteloide,
                      I have a quick test on Mac of the last version 1.14.5, for the moment all works fine except the previous problem with the translation, the Tooltips of the icons, Options of components and Options window aren't translated, see the image below
                      Don't Translated.jpg

                      The rest of the translation (pop-up windows) works fine.

                      Here the complete new Spanish translation

                      Localization.rb.zip

                      "The result is the end what is important is the process" by Oxer
                      [http://www.oxervision.blogspot.com/(http://www.oxervision.blogspot.com/)]

                      1 Reply Last reply Reply Quote 0
                      • inteloideI Offline
                        inteloide
                        last edited by

                        Hello !

                        Please download last version that mainly introduces a javascript error (for SU 2014, javascript errors are not displayed anymore), corrects some bugs.

                        Oxer, this may raise some error message on Safari, which will help me to find your translation issue...

                        Inteloide

                        Humanity will do a huge step when the IT professionals will understand that computers are tools...

                        1 Reply Last reply Reply Quote 0
                        • inteloideI Offline
                          inteloide
                          last edited by

                          Oxer,

                          Version 1.14.8 may solve your translation issue. Thank you Aerilius, I have made a modification that should make Safari working properly.

                          Let me know.

                          Inteloide

                          Humanity will do a huge step when the IT professionals will understand that computers are tools...

                          1 Reply Last reply Reply Quote 0
                          • OxerO Offline
                            Oxer
                            last edited by

                            Fantastic, the translation works now on Mac !! 👍
                            Thanks for the effort with the translation problem.

                            "The result is the end what is important is the process" by Oxer
                            [http://www.oxervision.blogspot.com/(http://www.oxervision.blogspot.com/)]

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

                              i had stopped using this plugin because of compatibility problems, but this new version is better

                              some minors observations:accentswindow size
                              window size again

                              for the 3rd screen copy, no matter what size i give to the window, it is still truncated at the bottom

                              i was looking for such a plugin to update a model made of components, when individual components have been updated after the model has been created.

                              Now, there is still a problem i can't solve using the native components window nor this plugin:

                              when a component is introduced in a model, if there is already one with the same name in it, sketchup automatically adds #1 at the end of the component definition name of the newly introduced component

                              how to replace the ...#1 component by the one that was first in the model, the name of which is ...?

                              I tried "reload selected components", AA11# is then written is creen, but the #1 is still at the end of the name...


                              #1

                              1 Reply Last reply Reply Quote 0
                              • TIGT Offline
                                TIG Moderator
                                last edited by

                                @giro

                                Irrespective of fixing up dialogs and html etc into FRench...

                                It has long been know that trying to use file-paths containing "accented characters" causes issue in SketchUp, on PC in versions <=2013.
                                This is because Ruby1.8 cannot perform some basic and necessary File functions - like confirming that a file exists or reading/writing data.
                                Ruby2.0 used by SketchUp v2014 is better at this, but even that has some issues to iron-out.

                                Your error message relates to SketchUp v8.
                                The folder containing the KCDM.skp is clearly designed to make v8's Ruby have a heart-attack !
                                MTX_biblioth**è**que_(non_class**é**e) 😒
                                try a folder rename?
                                MTX_bibliotheque_(non_classee) 💭
                                Stick to ye-olde ASCII A-Za-z etc

                                It is an unexplained oddity that Ruby, which was initiated in Japan with it's very non-standard character usage, should have such issues with text using relatively non-controversial and common accented letters that are used in many locales...

                                TIG

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

                                  @tig said:

                                  @giro
                                  try a folder rename?
                                  MTX_bibliotheque_(non_classee) 💭
                                  Stick to ye-olde ASCII A-Za-z etc

                                  thank you for taking the time to answer

                                  yes, i already have been faced to this accent problem, but the tricky thing is that sometimes it is the source of the problem, and sometimes not

                                  for example, the first screenshot, the problem is due to the fact that i buit the model on a computer using windows XP, and today i use windows 7; so the link is not "... program files... " anymore but "program files (x86)"

                                  anyway, i should change the folder name...

                                  my concern is how to remove the "#1" at the end of the component name

                                  what i do now is:

                                  i replace all the "#1" components by another one which is not already used in the model
                                  i purge the unused components
                                  i replace the component "not already used in the model by the one without the #1

                                  it takes some time...

                                  1 Reply Last reply Reply Quote 0
                                  • inteloideI Offline
                                    inteloide
                                    last edited by

                                    Hello glro !

                                    Are all your compatibility issues only about accent issue ? If not, please tell me in order to improve my plugin.
                                    For HTML size, I will have a look soon.

                                    For your # issue...well the problem is in SU.
                                    Actually, my plugin when reloading one or more components I :
                                    1- load the component definition
                                    2- remove replace old defintion instances by the new definition
                                    3- remove old definition by purging all the model
                                    4- rename new definition with the correct name
                                    So if there is a # when loading the component definition, it will remains after reloading it.

                                    But I think that what you want is to upload a component definition with a file different from the file used at begining, don't you ? Then in SU (not plugin), by right clicking and choose "reload", SU ask you the file name...then definition without # will be replace by the new definition but still without #
                                    Do I'm correct or not ?
                                    If not, I could write you a tiny plugin that do the job automatically...

                                    Inteloide

                                    Humanity will do a huge step when the IT professionals will understand that computers are tools...

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

                                      it seems to me that the #1 component issue is related to your component manager plugin; for example:

                                      i built a model from components in the component folder in june
                                      in july, i modify some of the components
                                      in september, i come back to the model and try to add some of the components that have been modified in july: they come with a #1 at the end

                                      the real solution would be to use your plugin BEFORE i begin to modify the model; i just realize that while i am writing it

                                      So, if all the components in the model are updated, when i add a new one, it will come without any #

                                      i am going to try that...

                                      thank you for trying to find a solution

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

                                        In SU2015 64bit this plugin causes a crash when I use RoundCorner inside a component. I haven't tested other SU versions.

                                        1 Reply Last reply Reply Quote 0
                                        • inteloideI Offline
                                          inteloide
                                          last edited by

                                          Hello Pherim,

                                          Please try version 1.14.10 which should solve your issue and let me know.

                                          Humanity will do a huge step when the IT professionals will understand that computers are tools...

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

                                            Alright, it works again! Thanks!

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

                                            Advertisement