[Plugin] Roof.rb
-
Thank U TIG!
This plugin will be appreciated as every thing else you created!
BRAVO!!!! -
@tig said:
If that loads after Artisan then it has no menu BUT works from the Ruby Console [files load in alphanumeric order].
If you renamed it so it loaded before Artisan then it was fine... BUT then Artisan didn't load at allafter some debugging at 2am I found the problem - scrambled scripts and pack eval encrypted scripts both return (eval) for FILE , so when tested with file_loaded? the one that gets loaded second it will not execute the block after (usually menu creation code)
workaround: use file_loaded("your_filename") or file_loaded("reverse URI")
eg file_loaded("roof.rb") or file_loaded("ro.plugins.drop") -
Thanks TIG, much appreciated!!
-
@unknownuser said:
@tig said:
If that loads after Artisan then it has no menu BUT works from the Ruby Console [files load in alphanumeric order].
If you renamed it so it loaded before Artisan then it was fine... BUT then Artisan didn't load at allafter some debugging at 2am I found the problem - scrambled scripts and pack eval encrypted scripts both return (eval) for FILE , so when tested with file_loaded? the one that gets loaded second it will not execute the block after (usually menu creation code)
workaround: use file_loaded("your_filename") or file_loaded("reverse URI")
eg file_loaded("roof.rb") or file_loaded("ro.plugins.drop")Thanks for the info...OR we could just separate the menu code from the scrambled part so that it's not eval'd...
-
Thank U very much TIG. You made a great plugin even greater!
Antonis
-
Thanks for the update TIG
-
Not to be a pest but something isn't right. The "eaves soffit size" is resulting in erroneous dimensions on opposing sides. For instance I input and eaves soffit size of 24" all around but I wind up with 1'-9 3/16" on one side and 2'-2 1/2" on another. Another conflict perhaps or am I imagining things. Did this with a "new" skp as well. Any ideas? Thanks.
-
@gus r said:
:arrow: Not to be a pest but something isn't right. The "eaves soffit size" is resulting in erroneous dimensions on opposing sides. For instance I input and eaves soffit size of 24" all around but I wind up with 1'-9 3/16" on one side and 2'-2 1/2" on another. Another conflict perhaps or am I imagining things. Did this with a "new" skp as well. Any ideas? Thanks.
I assume this is with 'gable-roof' ?
The other tools all offset equally anyway ?
I can't reproduce any error...
On a hipped-roof the overhang is always equal too ?
Can you post a SKP that will give you the error [or PM it]...
I can't break it -
@tig said:
@gus r said:
:arrow: Not to be a pest but something isn't right. The "eaves soffit size" is resulting in erroneous dimensions on opposing sides. For instance I input and eaves soffit size of 24" all around but I wind up with 1'-9 3/16" on one side and 2'-2 1/2" on another. Another conflict perhaps or am I imagining things. Did this with a "new" skp as well. Any ideas? Thanks.
I assume this is with 'gable-roof' ?
The other tools all offset equally anyway ?
I can't reproduce any error...
On a hipped-roof the overhang is always equal too ?
Can you post a SKP that will give you the error [or PM it]...
I can't break itTIG OK, here's a skp file that I just created. Looks like the gable roof comes out good but the hip and mansard result in the same overhang dimensions. This is all using default setting on the ruby.rb.
-
I can reproduce the problem using your example SKP.
Currently I am a complete loss to say why this might be happening...
I'll sleep on it and come back to you... -
@tig said:
I can reproduce the problem using your example SKP.
Currently I am a complete loss to say why this might be happening...
I'll sleep on it and come back to you...Thanks. I have a workaround which is using the old roof.rb in the tools directory. Got a house rendering job in today (first one in a while) which is why I just noticed this.
-
@gus r said:
@tig said:
I can reproduce the problem using your example SKP.
Currently I am a complete loss to say why this might be happening...
I'll sleep on it and come back to you...Thanks. I have a workaround which is using the old roof.rb in the tools directory. Got a house rendering job in today (first one in a while) which is why I just noticed this.
What version of 'old' Roof do you have that works OK ?
The 'new' version shouldn't differ [but clearly does ] -
@tig said:
What version of 'old' Roof do you have that works OK ?
The 'new' version shouldn't differ [but clearly does ]
Right now 3.0. Which I put in the tools directory because it conflicts with Artisan. The one that isn't working correctly is your latest, 3.1, which I put away after I noticed the problem. -
Gus R
What makes that more puzzling is that v3.0 [encrypted] should be no different to v3.1 decrypted ?
The code hasn't be changed I just unscrambled it - but there IS clearly an effect...
I'll do more investigating... -
Here's v3.2 http://forums.sketchucation.com/viewtopic.php?p=17156#p17156
I've fixed the reversed face glitches in Hipped roof's fascias if the 'selected-face' was itself reversed.
The listed materials' now use their 'display_name' rather than their 'name'.
The offset_eaves code has been completely rewritten to correct the inexplicable irregularities in the soffit sizes produced in v3.1 - it was eventually easier to redo the code rather than try to find the underlying cause - now fixed anyway.
It also has a zip file of Help docs...
Please update.
-
Lots of inexplicables lately?
Somethings afoot....there's conflict somewhere. Has to be?
-
TBD has found the menu clash issue - both my old version of Roof and Artisan use an encrypted format that is decrypted as it loads using a Ruby method called 'eval'. Both of our scripts had menu set ups inside the encrypted code and use FILE to get the path to the script, so it knows where other files are 'relative to itself' [don't worry about it, it's just a special system 'variable']. When you use eval on something containing FILE the value gets returned, BUT eval doesn't refresh after it's done it the once. Therefore the first script to run and decrypt it's FILE path with eval freezes its value at that and any scripts loading later with be buggered as the value is wrong. You could see this because if Artisan loaded before Roof then Roof broke and if Roof loaded before Artisan then Artisan broke. Having Roof load [later] from Tools rather than Plugins seemed to fix it as presumably eval runs for each collection of scripts in each $LOAD_PATH entry [another system 'variable' [array] that sets the search paths to auto-load scripts]... It has been know for sometime that including FILE inside 'compiled' [.rbs] files would lead to problems, but not that using eval on encrypted [actually they are 'packed'] .rb scripts using FILE would mess with other scripts... So if you are using FILE you can't compile or encrypt/pack/eval it later
On this recent issue of the uneven soffit sizes [fixed by v3.2] I am a loss to understand why it failed in v3.1 but worked in v3.0 - if anything encrypting it might have broken something - not the other way round!
It was clearly an issue with the 'offset' method used on the selected face for Hips etc...
RickW wrote the 'face.offset(dist)' method a long time ago. Rather than use that I reworked a version of it and made 'face.offset_eaves(dist)' to separate my code off from his. Looking through the two versions I couldn't see any significant differences - except his worked and mine didn't [at least when we got to v3.1!]. At first I thought that perhaps someone else had a clashing method using the same name BUT when I edited the code to use another clearly unique name [with random number on its end and the lot] it still didn't work! So I simply rewrote the whole thing so that it offsets the corners in a quite different way... Seemed to workNow for the rub! v3.2 doesn't work faultessly either !!
I'm working on a fix as I type this... Aaaargh! -
Here's v3.3 http://forums.sketchucation.com/viewtopic.php?p=17156#p17156
Apologies to the ~14 of you who already updated to v3.2 !
Please update to v3.3 asap...
It was quickly found to have some other issues with vector normalizing and soffit distortions, that I now suspect caused the v3.1 issues on the soffit sizes too... Fix one thing break another two!I believe that this version is all corrected - I hope that it now sets everything back on an even keel...
-
It is not work for me
Error: #<NoMethodError: undefined methodto_f' for ["30"]:Array> F:/Google SketchUp 8/Plugins/Roof.rb:235:in
dialog_hip'
F:/Google SketchUp 8/Plugins/Roof.rb:278:inhip' F:/Google SketchUp 8/Plugins/Roof.rb:3984 F:/Google SketchUp 8/Plugins/Roof.rb:235:in
call'
F:/Google SketchUp 8/Plugins/Roof.rb:235
Error: #<NoMethodError: undefined methodto_f' for ["60"]:Array> F:/Google SketchUp 8/Plugins/Roof.rb:899:in
dialog_man'
F:/Google SketchUp 8/Plugins/Roof.rb:966:inmansard' F:/Google SketchUp 8/Plugins/Roof.rb:3985 F:/Google SketchUp 8/Plugins/Roof.rb:235:in
call'
F:/Google SketchUp 8/Plugins/Roof.rb:235
Error: #<NoMethodError: undefined methodto_f' for ["30"]:Array> F:/Google SketchUp 8/Plugins/Roof.rb:1615:in
dialog_gable'
F:/Google SketchUp 8/Plugins/Roof.rb:2262:ingable' F:/Google SketchUp 8/Plugins/Roof.rb:3802:in
onLButtonDown'
F:/Google SketchUp 8/Plugins/Roof.rb:899
Error: #<NoMethodError: undefined methodto_f' for ["30"]:Array> F:/Google SketchUp 8/Plugins/Roof.rb:3331:in
dialog_pyramid'
F:/Google SketchUp 8/Plugins/Roof.rb:3381:inpyramid' F:/Google SketchUp 8/Plugins/Roof.rb:3927:in
onLButtonDown'
F:/Google SketchUp 8/Plugins/Roof.rb:1615 -
Here's v3.4 http://forums.sketchucation.com/viewtopic.php?p=17156#p17156
It fixes this reported glitch - it was only noticeable if you didn't have certain other scripts loading that also made a method that Roof used to recreate until the last update removed it by accident I did have that other script loading so I didn't spot it, and I rarely use A:B roof pitches anyway...
It's now fixed and the A:B pitch works properly again [as it used to prior to me messing it up in the previous update]
Advertisement