[Plugin] Roof.rb
-
@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] -
Here's v3.5 http://forums.sketchucation.com/viewtopic.php?p=17156#p17156
A glitch with rare soffit/fascia combos fixed with @fstype="Vertical+Horizontal",
also issue with some distorted faces addressed so eaves are always 'out', Roof-Slope now reports to 3 d.p.
There were previously ~3000 downloads of v3.0... so a lot of you might need to update, as only ~350 of you updated to v3.4 -
Thanks for the update, the original has been a solid tool, looking forward to trying the new version.
-
I can't use it in pro 8..whyβ¦β¦
-
I have 8 pro and the plugin works perfectly. There must be something else...
-
wingkingcc
Your 'error report' is pretty useless
I what way 'can't you use it' ?
Do you have the latest version [v3.5] ?
Are there menu items that don't work?
Do they appear to work but fails?
Is the result not what was expected?Have Window > Ruby Console open and post any errors that appear there...
It works fine on all platforms and recent versions of Sketchup...
There are no known clashes with other scripts after recent version changes [and a most unusual 'clash' between the new tool 'Artisan' and the older roof 'Roof' was quickly noticed - caused by them both being 'packed' - recent versions of Roof are not 'packed' to avoid this... as if one loaded the other didn't!] -
thank you so much for this sir.
-
Here's v3.6 http://forums.sketchucation.com/viewtopic.php?p=17156#p17156
Errors minimized. Speed greatly improved. Roof-Slope reported in Angle, 1:B and A:12. -
Here's v3.7 http://forums.sketchucation.com/viewtopic.php?p=17156#p17156
A longstanding error/glitch with the 'Gable by Width' option has been fixed [thanks to Mariocha's report by PM!] -
keep share...
nice,,, -
Hipped roof doesnΒ΄t work form me. Some bug? I got a error message.
-
@azera2 said:
Hipped roof doesnΒ΄t work form me. Some bug? I got a error message.
Probably not a bug since it works for others.
What was the error message?
-
@azera2 said:
Hipped roof doesnΒ΄t work form me. Some bug? I got a error message.
What error ?
I'm not psychic...
There is a known limitation, it's explained in the Usage Guide and several error messages.
It's possible to devise a shape - 'crooked star' etc - than can never have a hipped roof of equal pitches - it's a physical impossibility!
Also sometimes the edges of a face get messed up in their order when returned as a 'face loop' [especially after lots of editing] - then it can fail to make a roof that would otherwise have worked - again there are tips on fixing this - e.g. by re-creating the face, or copying it off as a group, exploding it etc, so Sketchup reorders the edges properly and moving it back into place...
Advertisement