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

    [Plugin] Simple Glazing tool

    Scheduled Pinned Locked Moved Plugins
    19 Posts 9 Posters 15.9k Views 9 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.
    • jujuJ Offline
      juju
      last edited by

      Welcome to the SCF tomot and thanks for the contribution. Any further info / pics on this?

      Save the Earth, it's the only planet with chocolate.

      1 Reply Last reply Reply Quote 0
      • T Offline
        tomot
        last edited by

        I see no ruby gurus willing to take a nibble yet? 😄

        Once the rectangle has been picked, its co-ordinates are defined
        by $pt0 thru $pt3 (see below)

        #------create a new set of points from the original 3 point pick
        $pt0=Geom::Point3d.new($pts[0][0], $pts[0][1], $pts[0][2])
        $pt1=Geom::Point3d.new($pts[1][0], $pts[1][1], $pts[1][2])
        $pt2=Geom::Point3d.new($pts[2][0], $pts[2][1], $pts[2][2])
        $pt3=Geom::Point3d.new($pts[3][0], $pts[3][1], $pts[3][2])

        I can then create the required code that makes the glazing,
        give it a transparent color, followed by "pushpull'ing" the thickness of the glass
        whose value is $ggthick (see below)

        #------create the Glazing
        group=entities.add_group
        entities=group.entities
        base=entities.add_face($pt0, $pt1, $pt2, $pt3)
        base.material=Sketchup::Color.new(163,204,204) #change the RGB Color numbers here
        base.material.alpha = 0.6
        base.pushpull $ggthick

        All of the above will produce glazing in any plane xy, xz, yz.

        However in order to set the glazing back from an xy plane, I need a z offset
        equally for glazing on an xz plane needs a y offset, and for glazing on an yz plane
        requires an x offset.

        If I was producing a static glazing ruby where the glazing was always located at 0,0,0
        then I could provide the offset option via $wwthick which is the "Glass Setback from face value.
        as follows:

        $pt3=Geom::Point3d.new($pts[3][0], $pts[3][1], $pts[3][2]-$wwthick)
        but this will not work for the other 2 planes.

        Is there a 3d point in Ruby that is not tied to the world co-ordinate system, but rather
        to a local co-ordinate system?

        or is there a way to do a double pushpull one for the offset and one for the glazing thickness,
        and then erasing the first sheet of glass?

        TIA!

        [my plugins](http://thingsvirtual.blogspot.ca/)
        tomot

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

          @unknownuser said:

          Is there a 3d point in Ruby that is not tied to the world co-ordinate system, but rather
          to a local co-ordinate system?

          Entities added to a group are relative to the Group's origin and axes.

          Hi

          1 Reply Last reply Reply Quote 0
          • T Offline
            tomot
            last edited by

            Jim I don't know what I'm going to do with that piece of information
            in a practical way to solve this problem.

            As the attached pic shows, at present the glazing is flush with each face
            of the 2 opening the glazing is installed into.
            I would like to have the option of letting the user pick an offset back from
            the face as is shown in the opening on the left side of the cube.


            cube.png

            [my plugins](http://thingsvirtual.blogspot.ca/)
            tomot

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

              Well, you know the normal of the glass, just move the group forward or backward along the normal.

              In other words, apply a transformation to the final group in the + or - direction along the base face normal.

              Hi

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

                Aren't you re-inventing Windowizer without a frame ? Currently you must enter something, but 0.1mm makes the frames effectively nothing...

                TIG

                1 Reply Last reply Reply Quote 0
                • D Offline
                  dtrarch
                  last edited by

                  tomot

                  Very clever tool and thanks.
                  As it creates a group it is very easy to move back and forth.
                  Good enough as it stands.

                  dtr

                  1 Reply Last reply Reply Quote 0
                  • T Offline
                    tomot
                    last edited by

                    @tig said:

                    Aren't you re-inventing Windowizer without a frame ? Currently you must enter something, but 0.1mm makes the frames effectively nothing...

                    Not at all! Windowizer asks for 4 sided face to be selected first. While I use the "pick 3 point rectangle" method.
                    This is not a criticism of how Windowizer works, it has more to do with my workflow.
                    I design structures in SU using walls and slabs that have thickness. Then I punch openings in them for windows, doors, stairs etc., later I fill in those openings with the required components.

                    I find the "pick 3 points rectangle' method the most natural way to fill in an opening. If I were to use Windowizer, I have to fill in the opening prior to running the script.

                    However, I would be more interested in getting the setback problem solved.
                    While Jim's comments make a lot of sense, I can't get the code to work.

                    aargh!

                    [my plugins](http://thingsvirtual.blogspot.ca/)
                    tomot

                    1 Reply Last reply Reply Quote 0
                    • T Offline
                      tomot
                      last edited by

                      @dtrarch said:

                      tomot

                      Very clever tool and thanks.
                      As it creates a group it is very easy to move back and forth.
                      Good enough as it stands.

                      dtr

                      Thanks! But after I have moved about 30 windows back 3" from the face. I
                      feel like my Grey matter is leaving for greener pastures.

                      [my plugins](http://thingsvirtual.blogspot.ca/)
                      tomot

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

                        Hi tomot,

                        Here is a snippet of your plugin with the transformation.

                        
                        
                            base.pushpull $ggthick
                            self.reset
                            normal = base.normal
                            normal.length = 2 # how far?
                            tr = Geom;;Transformation.translation(normal.reverse)
                            group.transform! tr
                            model.commit_operation
                        end
                        
                        
                        

                        Hi

                        1 Reply Last reply Reply Quote 0
                        • T Offline
                          tomot
                          last edited by

                          Jim, please accept my great appreciation, with a reply HUG!

                          so here is the the attached update:


                          WindowGlass.rb

                          [my plugins](http://thingsvirtual.blogspot.ca/)
                          tomot

                          1 Reply Last reply Reply Quote 0
                          • N Offline
                            nomeradona
                            last edited by

                            clever and useful indeed.. thanks

                            visit my blog: http://www.nomeradona.blogspot.com

                            1 Reply Last reply Reply Quote 0
                            • F Offline
                              Fletch
                              last edited by

                              I asked a long time ago for windowizer to have ability to have "0" as the frame, and have it be left out completely... but all I remember getting was a "good idea Fletch"... while never seeing it implemented... I'm still waiting.

                              until then... this could be useful - thanks for sharing!... and true about the workflow... sometime nice to just draw interactively.

                              Fletch
                              Twilight Render Cross-platform Plugin for SketchUp on PC or Mac

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

                                @fletch: Yeah, unfortunately, that happens a lot more than I would like. More ideas than time to implement...

                                RickW
                                [www.smustard.com](http://www.smustard.com)

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

                                  Tomat, thanks very much for the tool.
                                  RickW, Windowizer is one of the most useful tools available. However, could it be adapted to provide an inner frame of a window? I currently push pull through the wall, repair the faces & then use windowizer on both sides of the wall.

                                  Regards,
                                  JGA

                                  1 Reply Last reply Reply Quote 0
                                  • T Offline
                                    tomot
                                    last edited by

                                    @jga said:

                                    However, could it be adapted to provide an inner frame of a window?

                                    Yes I have a working copy, with glazing, frame and exterior trim however, I still have
                                    a few bugs to resolve, before posting it.

                                    [my plugins](http://thingsvirtual.blogspot.ca/)
                                    tomot

                                    1 Reply Last reply Reply Quote 0
                                    • F Offline
                                      Fletch
                                      last edited by

                                      @Rick,
                                      ah well... c'est la vie... 😄

                                      Fletch
                                      Twilight Render Cross-platform Plugin for SketchUp on PC or Mac

                                      1 Reply Last reply Reply Quote 0
                                      • T Offline
                                        tomot
                                        last edited by

                                        @fletch said:

                                        @Rick,
                                        ah well... c'est la vie... 😄

                                        In fairness to RickW, he has produced some amazing code.
                                        I think he was the first one to create a dialog box in Ruby.
                                        Without which all input Rubies could not exist.

                                        [my plugins](http://thingsvirtual.blogspot.ca/)
                                        tomot

                                        1 Reply Last reply Reply Quote 0
                                        • 1 / 1
                                        • First post
                                          Last post
                                        Buy SketchPlus
                                        Buy SUbD
                                        Buy WrapR
                                        Buy eBook
                                        Buy Modelur
                                        Buy Vertex Tools
                                        Buy SketchCuisine
                                        Buy FormFonts

                                        Advertisement