Is there a list of conflicting plugins?
-
Fortunately there are few clashes reported - it's usually missing or mis-located files...
The ones I know of are...Progressbar
being messed up by earlier versions ofComponentspraytool
- now fixed in latest versionsand...
Demeter
'sBlankslate
used to mess up some built in methods but I haven't played with that for a couple of years - this was noticeable with Bugsplats in myMirror
andGrow
tools which also usedgroup.copy
...and just found...
SUp'sgroup.copy
[e.g inEEbyRails
et al] messed up by havingSketchyphysics
installed in 64bit Win7 - waiting on more reports on this...I'm sure others will chip in with their own clashes shortly........
-
Thank you TIG for your quick response. It is good to know about these things and I will make note of them. I would like to point out to any ruby creators out there that I'm very appreciative of their generous gifts and that I'm not trying to find fault in their work... I'm just trying to understand which rubies (if any) don't get along well.
-
do a search for "wxsu" there are a few problems with plugins that use that as well i believe.
-
These 'clash' problems are usually from some unforeseen results when rewriting existing methods, that then screw up another script's functionality.
For example, I suspect that the Sketchyphysics 'problem' with EEby.. tools and others is perhaps down to it somehow rewriting the Sketchup Group.copy command, that should return the copied group's 'id' but returnsnil
instead - it's probably been recast to allow copying of groups with/without attributes etc [?] but it just hasn't got areturn new_group
as it completes.
It's probably an easy fix but until someone finds out that it's a problem then it'll go un-addressed...
Using global variable ($xxx) is also a recipe for clashes unless they are very oddly named etc since the load order of scripts will overwrite these with the last version... -
I suspect SketchyPhysics was not the problem, or if so not in an obvious manner. It either is or it is not redefining the method, and 'somehow' redefining it isn't a good enough explanation. I didn't find in SketchyPhysics where it was redefining Group.copy. Hopefully Chris will confirm.
-
I recently looked at 2 specialized plugins - pachube and phlatscript. Both of these use copious numbers of global variables and define methods in the global namespace.
-
@jim said:
I suspect SketchyPhysics was not the problem, or if so not in the way you believe. It either is or it is not redefining the method, and 'somehow' redefining it isn't a good enough explanation. I didn't in SketchyPhysics where it was redefining Group.copy. Hopefully Chris will confirm.
I agree that grepping through all of the current SP rubies there is no redefining of
group.copy
... but it was still apparently conflicting with it in some cases. It's weird... Might xrok1 have some old SP rubies that mess up ? I only have the current SP set - and of course I don't get the problem at all ! -
ahhh! i thought this debate may pop up so i saved a copy of the offending SP version. take a look!
-
Cerebral Meltdown SunPosition
http://www.cerebralmeltdown.com/projects/sunplugin/- Re-defines Float.round
- Adds to_deg and to_rad to Numeric (not needed API already has .degrees and .radian methods.)
- Adds to_fl to Float class - supposed to handle commas in floats?
Possible conflict with Curviloft:
http://forums.sketchucation.com/viewtopic.php?f=323&t=28586&p=256061#p256061
-
Has any one approached the developers?
-
SCF Toolbars installs
extensions.rb
file in the Plugins folder. It already exists in the Tools folder, and may cause errors.reference: http://forums.sketchucation.com/viewtopic.php?f=183&t=30092#p264035
-
sunposition.rb by cerebralmeltdown over-rides Ruby built-in methods Float#round, and can effect other scripts.
via http://forums.sketchucation.com/viewtopic.php?f=323&t=28586&start=240#p265784
-
@jim said:
Cerebral Meltdown SunPosition
- Adds to_fl to Float class - supposed to handle commas in floats?
It added the method to the String class. Because in some user locales the decimal separator is comma instead of period.
-
TrueTangent.rb is overriding Float::=~ which is the regular expression operator with a unique function that disables regular expression functionality altogether.
My suggestion to all those that override global built in classes to avoid it as other scripts may rely on the basic functionality being there and operable. just create a new child class of the built in class and use your own classes in your code if you need to change their functionalities.
-
That's TIG's script: http://forums.sketchucation.com/viewtopic.php?t=19457
-
That code's been around for ages without any complaints... The
=~
isn't a standard method for the Float Class [at least in my 'prgamatic' documentation]: it's a new one I made up to compare two floats as being approximately equal, and 'Regexp' isn't part of Float... is it ??
Any ideas from better Ruby gurus than me ????class Float def =~(num2,tol=10000) num1=(self*tol).to_i num2=(num2*tol).to_i return true if num1==num2 return nil end end #class Float
How do I 'isolate' it to avoid possible clashes [with an 'example' please] - if necessary...
-
@tig said:
That code's been around for ages without any complaints... The
=~
isn't a standard method for the Float Class [at least in my 'prgamatic' documentation]: it's a new one I made up to compare two floats as being approximately equal, and 'Regexp' isn't part of Float... is it ??
Any ideas from better Ruby gurus than me ????How do I 'isolate' it to avoid possible clashes [with an 'example' please] - if necessary...TIG,
The issue is not so much that you add a new method. It is rather the potential clash if another script writer has the exact same idea (and he may have it, because it seems simple and elegant). Then if several scripts define the method
=~
with different precisions or even different meanings, some scripts may potentially not work and this may be hard to find out what is the cause.The normal approach would be to introduce a regular method like "
float_compare(a, b)
". It is less elegant, but at least it is only visible in the script own scope.Fredo
Fredo
-
Thanks Fredo.
I'll make a fix...
[Edit: done.] -
Rick's offset.rb and wikii's FAK.rb (Follow and Keep) both define an
#offset
method for Array and Sketchup::Face classes. May the last one loaded win. -
Didier Bur's dline.rb adds (yet another) offsetPoints method to Array, but then never utilizes the method. Also resets a global $debug to false.
Advertisement