[Plugin] Center of Gravity
-
@driven said:
Error: #<NoMethodError: undefined method
db' for CofGravity:Class> /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/CofGravity.rb:153:in
calculate'
/Library/Application Support/Google SketchUp 7/SketchUp/Plugins/CofGravity.rb:813Have you got
deBabelizer.rb
in the Plugins Folder ?
This file is for translation and is used by many of my tools and it ships with each of them - although it's always the same file...
It should come with the zip and is installed into the same folder as CofGravity.rb ?
The error is because 'db' which is the local def of deBableizer in the class is failing to get defined...
-
@tig said:
Have you got
deBabelizer.rb
in the Plugins Folder ? :?Hi Tig,
I only installed it to send you a report from another Mac, and am sure I used all of the correct instal procedures.
your other tools are still working (EEby.., Manifold, Vol..2) , after the CofG_1.2 instal (including deBalelizer.rb)
after the first (_1.2) Error, I replaced both files with the _1.1 files and had the same error.
I then tested all in the same drawing
EEby Rail--worked
Volume2 --worked
Manifold --worked
CofG --same error report (-1.2 re-installed from zip)john
-
driven
A mystery...
def CofGravity;;calculate ### LINE 129 ==start of class/def that is reporting the error... def db(string) dir=File.dirname(__FILE__)+"/TIGtools" toolname="CofGravity" locale=Sketchup.get_locale.upcase path=dir+"/"+toolname+locale+".lingvo" if not File.exist?(path) return string else deBabelizer(string,path) end end#db if (Sketchup.version.split(".")[0].to_i<5) UI.messagebox(db("C of G; Sorry, this is Version >= 6 Tool !")) return nil end#if model=Sketchup.active_model entities=model.active_entities ############ if Sketchup.version[0,1].to_i > 6 model.start_operation((db("C of G")),true)### LINE 153 GIVES ERROR !!!
Can you look at the script's contents and see if it looks like this ?
Works fine on a PC for me - can't see where a Mac might trip up ?
-
Need to
require 'dBabelizer'
before you use it. -
Jim
That's it ! Thanks.
Other tools requiring it were masking the fact I missed it out of the initial 'require'...
Update on it's way !!!
-
that appears exactly the same,
the only thing that seems at odds is the syntax colouring for calculate shows it as a variable??
I don't know enough to know why, or where to look nextI'll send this even if the missing "require" is at fault, because I don't understand why one and not the other would be a variable....
-
Here's v1.3...
http://forums.sketchucation.com/viewtopic.php?p=229404#p229404
The initial 'require' of deBabelizer was accidentally missed out, but its absence was masked by some other tools loading it anyway so most times it worked anyway...
Now it is explicitly called for in the tool...
Sorry for the confusion... -
Same error code, same syntax colouring for line 813
seems to have something to do with it...
-
driven
Have you got the recent v1.3, with the
require 'deBabelizer.rb'
added ?
This should fix it ? -
If
calculate
is a reserved term in Mac Ruby versus PC I'm surprised...
You can edit the file and change every 'calculate
' to say 'do_calculation
' and see if that helps - if so let me know asap -
Yes it's v1.3
changed to tig_calculate (lines 131, 815)
Error; #<NoMethodError; undefined method `db' for CofGravity;Class> /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/CofGravity.rb;155;in `calculate' /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/CofGravity.rb;815
-
@driven said:
Yes it's v1.3
changed to tig_calculate (lines 131, 815)Error; #<NoMethodError; undefined method `db' for CofGravity;Class> > /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/CofGravity.rb;155;in `calculate' > /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/CofGravity.rb;815
You mustn't have changed them all as it's still calling 'calculate' ?
I've redone the original and v1.4 with full 'do_calculation' will be there asap... -
Here's v1.4 http://forums.sketchucation.com/viewtopic.php?p=229401#p229401 with 'calculate' replaced with 'do_calculation' to see if that fixes it - if not I have exhausted all ideas so far !!!
-
Ok, v1.4
Error; #<NoMethodError; undefined method `db' for CofGravity;Class> /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/CofGravity.rb;156;in `do_calculation' /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/CofGravity.rb;816
sorry
-
@tig said:
...Any more ideas welcome...
Not yet, TIG - at least not anything that would be clear. I was just thinking aloud and combining my ideas. Maybe when I have already used the plugin for such things.
Thanks anyway!
-
Aaaarrrgh...
BUT as we can all see it is definingdb
as a method inside the particular class::def and then using it - the way it's used loads of times in other tools too... It works fine on PC so what is so special about a Mac ?
Puzzled... Any Mac scripters have any ideas ??? -
it is in the db method,
I just ran composite on to groups and got this
Error; #<NoMethodError; undefined method `db' for CofGravity;Class> /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/CofGravity.rb;604;in `composite' /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/CofGravity.rb;817
-
TIG,
Sorry for the earlier abbreviated message - I got called away from the computer.
I get the following when trying CofG (Version 1.4 here).
QUOTE
Error: #<NoMethodError: undefined method
db' for CofGravity:Class> /Library/Application Support/Google SketchUp 7/SketchUp/Plugins/CofGravity.rb:156:in
do_calculation'
/Library/Application Support/Google SketchUp 7/SketchUp/Plugins/CofGravity.rb:816UNQUOTE
-
Possibly something to do with the version of Ruby? Macs running Snow Leopard come with a pre-packaged version 1.8.7 of Ruby.
-
The error is with the
db
def method... BUT it ha been and is still working fine on PCs and it's been used in similar ways in many other tools... so why the problem here ?
To avoid having to adddeBabelizer(string, lingvo_file_path)
to every string in the output that needs translating I make a shortcut method defdb
for each tool
that alls deBabelizer and has thelingvo_file_path
hardcoded into it, and works simply asdb(string)
.
It's easy and effective in all my recent tools, so why the problem here ???
It's clear now that it wasn't the missed out 'require' or other possible clashes that were causing this... BUT why it's not working is a mystery...Surely you can call a def inside another def though ??? even with 1.8.7 on Macs ???
Advertisement