[Plugin] Components manager plugin
-
Inteloide,
I tried it again today and the problems with push-pull and undo have disappeared, but now I'm seing it messing with Fredoscale and I also believe JointPushPull. I think it's because they perform changes to components and groups visually and interactively.
I think your plugin is making Fredo scale multiply a given value several times, until the mouse is clicked.
I also believe it's making JointPushPull crash.
May you have some conflicts with your observers and Fredo's?
-
@jql said:
May you have some conflicts with your observers and Fredo's?
Hello JQL,
I check a bit Fredo's plugin code, apparently nothing should make conflict...but I will ask Fredo if we can check this toegether.
Inteloide
-
But did you see what happens? Do you want me to make a video or something?
-
Hello JQL,
Yes a little video would be helpful.
Inteloide
-
Inteloide,
There you have the video. If component manager plugin is disabled FredoScale works normally.
It also works as usual on groups and sometimes on components with multiple instances.The object being stretched by FredoScale Box Stretch to Target is a component.
Thanks again for all your effort,
JQL
FredoScale_Box_Stretch_to_Target_with_Component_Manager_v1.13.0_On.swf
-
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.
-
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
-
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
-
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
-
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.
-
@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 -
With version 1.14.4 downloaded from this thread, plugin doesn't crash but nothing happens. I'm still learning how it works.
-
@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 -
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
The rest of the translation (pop-up windows) works fine.
Here the complete new Spanish translation
-
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
-
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
-
Fantastic, the translation works now on Mac !!
Thanks for the effort with the translation problem. -
i had stopped using this plugin because of compatibility problems, but this new version is better
some minors observations:
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...
-
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 etcIt 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 said:
@giro
try a folder rename?
MTX_bibliotheque_(non_classee)
Stick to ye-olde ASCII A-Za-z etcthank 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 #1it takes some time...
Advertisement