sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    [Plugin] Roof.rb

    Scheduled Pinned Locked Moved Extensions & Applications Discussions
    extensions
    170 Posts 73 Posters 156.8k Views 73 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • TIGT Offline
      TIG Moderator
      last edited by

      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 work

      Now for the rub! v3.2 doesn't work faultessly either !! 😲
      I'm working on a fix as I type this... Aaaargh!

      TIG

      1 Reply Last reply Reply Quote 0
      • TIGT Offline
        TIG Moderator
        last edited by

        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... 😳

        TIG

        1 Reply Last reply Reply Quote 0
        • H Offline
          hebeijianke
          last edited by

          It is not work for me
          Error: #<NoMethodError: undefined method to_f' for ["30"]:Array> F:/Google SketchUp 8/Plugins/Roof.rb:235:in dialog_hip'
          F:/Google SketchUp 8/Plugins/Roof.rb:278:in hip' 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 method to_f' for ["60"]:Array> F:/Google SketchUp 8/Plugins/Roof.rb:899:in dialog_man'
          F:/Google SketchUp 8/Plugins/Roof.rb:966:in mansard' 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 method to_f' for ["30"]:Array> F:/Google SketchUp 8/Plugins/Roof.rb:1615:in dialog_gable'
          F:/Google SketchUp 8/Plugins/Roof.rb:2262:in gable' F:/Google SketchUp 8/Plugins/Roof.rb:3802:in onLButtonDown'
          F:/Google SketchUp 8/Plugins/Roof.rb:899
          Error: #<NoMethodError: undefined method to_f' for ["30"]:Array> F:/Google SketchUp 8/Plugins/Roof.rb:3331:in dialog_pyramid'
          F:/Google SketchUp 8/Plugins/Roof.rb:3381:in pyramid' F:/Google SketchUp 8/Plugins/Roof.rb:3927:in onLButtonDown'
          F:/Google SketchUp 8/Plugins/Roof.rb:1615

          1 Reply Last reply Reply Quote 0
          • TIGT Offline
            TIG Moderator
            last edited by

            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] 😳

            TIG

            1 Reply Last reply Reply Quote 0
            • TIGT Offline
              TIG Moderator
              last edited by

              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 😕

              TIG

              1 Reply Last reply Reply Quote 0
              • J Offline
                JGA
                last edited by

                Thanks for the update, the original has been a solid tool, looking forward to trying the new version.

                Regards,
                JGA

                1 Reply Last reply Reply Quote 0
                • W Offline
                  wingkingcc
                  last edited by

                  I can't use it in pro 8..why……

                  1 Reply Last reply Reply Quote 0
                  • GaieusG Offline
                    Gaieus
                    last edited by

                    I have 8 pro and the plugin works perfectly. There must be something else...

                    Gai...

                    1 Reply Last reply Reply Quote 0
                    • TIGT Offline
                      TIG Moderator
                      last edited by

                      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!]

                      TIG

                      1 Reply Last reply Reply Quote 0
                      • L Offline
                        lostinsight
                        last edited by

                        thank you so much for this sir. 😄

                        1 Reply Last reply Reply Quote 0
                        • TIGT Offline
                          TIG Moderator
                          last edited by

                          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.

                          TIG

                          1 Reply Last reply Reply Quote 0
                          • TIGT Offline
                            TIG Moderator
                            last edited by

                            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!] 😒

                            TIG

                            1 Reply Last reply Reply Quote 0
                            • S Offline
                              sotojeroan
                              last edited by

                              keep share...
                              nice,,,

                              1 Reply Last reply Reply Quote 0
                              • A Offline
                                azera2
                                last edited by

                                Hipped roof doesn´t work form me. Some bug? I got a error message.

                                1 Reply Last reply Reply Quote 0
                                • Dave RD Offline
                                  Dave R
                                  last edited by

                                  @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?

                                  Etaoin Shrdlu

                                  %

                                  (THERE'S NO PLACE LIKE)

                                  G28 X0.0 Y0.0 Z0.0

                                  M30

                                  %

                                  1 Reply Last reply Reply Quote 0
                                  • TIGT Offline
                                    TIG Moderator
                                    last edited by

                                    @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...
                                    🤓

                                    TIG

                                    1 Reply Last reply Reply Quote 0
                                    • A Offline
                                      azera2
                                      last edited by

                                      Hi TIG!
                                      The shape is a simple rectangle (5m x 10m). I´ve been tried some other shapes too, but still don´t work. The lines are all in the same plane, and parallel to the axes.


                                      http://img259.imageshack.us/img259/5139/telhado1.jpg


                                      http://img441.imageshack.us/img441/4027/telhado2.jpg


                                      http://img140.imageshack.us/img140/1953/telhado3.jpg

                                      TKS

                                      1 Reply Last reply Reply Quote 0
                                      • TIGT Offline
                                        TIG Moderator
                                        last edited by

                                        Your selected face is at z=0... AND it's facing downwards [top face is looking down] !
                                        It's a limitation that a lone face at z=0 will fail...
                                        So try moving it up from z=0 [even 1mm will do!] ... [AND you can also try Reversing it using the context-menu].
                                        It should then work OK...

                                        TIG

                                        1 Reply Last reply Reply Quote 0
                                        • I Offline
                                          ijestan
                                          last edited by

                                          @tig said:

                                          Your selected face is at z=0... AND it's facing downwards [top face is looking down] !
                                          It's a limitation that a lone face at z=0 will fail...
                                          So try moving it up from z=0 [even 1mm will do!] ... [AND you can also try Reversing it using the context-menu].
                                          It should then work OK...

                                          WOW this works for me thanks a lot

                                          1 Reply Last reply Reply Quote 0
                                          • J Offline
                                            jyrki
                                            last edited by

                                            Hi Tig!
                                            Great plugin. Im lifting up planty of houses from sitemap and drawing roofs on the top. There are many roofs with same angels and gabels. Often foundation is same height from ground and floors heights are equal. So I thought If you could add some parameters for those. Then when user have set default values. He can just pick countinues how meny house rectangles he want from sitemap and results are houses with roofs. I hope you understand what I mean. It is little bit faster to work this way. But of curse this is great plugin already. Great job. Thank you. D
                                            ☀

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 8
                                            • 9
                                            • 1 / 9
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement