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

    [Plugin] Mirror

    Scheduled Pinned Locked Moved Plugins
    211 Posts 72 Posters 390.6k Views 72 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.
    • Dave RD Offline
      Dave R
      last edited by

      It works fine with SU2015. Do you have some reason to think it wouldn't?

      Etaoin Shrdlu

      %

      (THERE'S NO PLACE LIKE)

      G28 X0.0 Y0.0 Z0.0

      M30

      %

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

        Thanks for your reply. The reason that I ask is that SU 2015 is not listed in the Sketchucation store.

        Using Sketchup Pro 2019

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

          @seasdes said:

          Thanks for your reply. The reason that I ask is that SU 2015 is not listed in the Sketchucation store.
          Currently the choices offered for 'compatibility', to authors when they are setting up their PluginStore entries are <=v8, v2013 and v2014.
          If there were a v2015 it'd be used.
          I've PM'd GΓ‘bor about adding that choice - OR changing to ">=v2014".

          The good news is, if a Plugin is compatible with v2014, then it is almost certainly going to be compatible with v2015.
          The big changes in coding came at v8/v2013 and then the biggy at v2014, as that used a newer version of Ruby which handles a few things slightly differently, and is less forgiving of sloppy syntax etc, so there were potential issues stepping up versions.
          However, most authors updated their Plugins to suit the new Ruby when v2014 came along around a year ago.
          The main outstanding incompatibility was with Dider Bur's tools - but with his permission I have recently finished updating those to be compatible with the newer SketchUps - now available in the PluginStore.
          A v2014 compatible tool is almost certainly going to work in v2015, but it might have some issues when used in v2013 or even more likely <=v8, particularly if it now relies on some of the new features only available in the newer Ruby version etc, and there the author has included no workarounds for the earlier versions.***
          There are a few new methods now available in v2015, but that is more likely to mean that a v2015 based tool will not work [or be restricted] in earlier versions, which lack that new functionality.

          ***For example the SCF PluginStore toolset itself makes use of several of the new features available in the newer Ruby [v2014/v2015], but it is written to find the version of SketchUp running it, and where needed it runs alternative code - this may be slower, more clunky etc, but at least the user still gets most of the toolset's functionality, even when they have an old SketchUp version...

          TIG

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

            Thanks for your reply TIG.

            Using Sketchup Pro 2019

            1 Reply Last reply Reply Quote 0
            • josephkim626J Offline
              josephkim626
              last edited by

              @tig said:

              @josephkim626 said:

              Probably this is a single plugin I use most often.

              On that note TIG, I have a small request to make. Can you change or allow us to change the settings to have the newly generated object/geometry to be selected after the mirror command?
              I'm not changing the established selection staying with the retained original.
              BUT it's quite easy for you to adjust your own RB file yourself.
              Use Notepad/Notepad++ [PC] or TextWrangler[MAC] to edit it - NEVER use a Wordprocessor with Ruby files.
              The existing code at line #392 needs a new line of code adding - just before the 'commit_operation' -

               @ss.clear; nents.each{|e|@ss.add(e) if e.valid?} 
              

              Now the selection always passes to the copy, whether or not you have chosen to keep the originals.

              Great! I can try that.

              Thank you so much TIG

              -----------------edit

              Works great.
              Thank you so much for your help TIG!

              1 Reply Last reply Reply Quote 0
              • kimi kimiK Offline
                kimi kimi
                last edited by

                Hi TIG,
                First of all, I really appreciate all of your work! Everything you created is so awesome. I just wanted to ask you one thing. Could you make another plugin, almost the same as this one. It's also a mirror plugin. But it mirrors only against a vertical plane. 90% of these mirror operations, at least in my experience, end up by choosing the blue axis. It would be cool if we could just make 2 clicks instead of 3. I hope you can consider this request.
                And one more thing I would probably change is that "Erase original selection?" question. It's sometimes really hard to focus and "talk" to SketchUp after a long day. I often forget if it's asking me to erase or to keep, and I'm too tired to read. So, my preference would be to have these two possibilities as two separate commands or shortcuts.
                I know I'm getting to 4 different outcomes now with all that I wrote. Maybe call it mirror pro? πŸ˜„
                Anyway, I never had any problems with your plugins. It always executed perfectly without any problems. I just thought you could save us a few clicks. And since I use this thing at least 100 times a day, it would really mean a lot to me.

                Best regards!

                1 Reply Last reply Reply Quote 0
                • cottyC Offline
                  cotty
                  last edited by

                  You can change the dialog in such a way that the more often used answer is the default one which you can simply choose by hitting the enter key without reading the text...
                  http://sketchucation.com/forums/viewtopic.php?f=323%26amp;t=31410%26amp;p=510289%26amp;hilit=dialog#p510289

                  (The mirroring with two clicks is occupied by the mirror through an axis)

                  my SketchUp gallery

                  1 Reply Last reply Reply Quote 0
                  • Bob JamesB Offline
                    Bob James
                    last edited by

                    @cotty said:

                    You can change the dialog in such a way that the more often used answer is the default one which you can simply choose by hitting the enter key without reading the text...
                    http://sketchucation.com/forums/viewtopic.php?f=323%26amp;t=31410%26amp;p=510289%26amp;hilit=dialog#p510289

                    (The mirroring with two clicks is occupied by the mirror through an axis)

                    Since my most likely next operation is to move the new mirrored object, I've made the changes Tig provided. In doing so I noted that 12 additional lines have been added to the original post noted by cotty. So note the following nit-pick update to Tig's great plugin:

                    ***Edit the "Mirror.rb" script with a plain-text editor - like Notepad++ - and find line #367 and change
                    @msg = "Mirror: Erase Original Selection ?"
                    to read:
                    @msg = "Mirror: Keep Original Selection ?"
                    so that the stausbar prompt is in step...
                    Then go to line #379
                    if UI.messagebox("Erase Original Selection ? ",MB_YESNO,"")==6 ### 6=YES 7=NO
                    edit it to read:
                    if UI.messagebox("Keep Original Selection ? ",MB_YESNO,"")==7 ### 6=YES 7=NO
                    which reverses the question and the result of Pressing 'Yes'...
                    For tidiness's sake also on line #381
                    else ### NO
                    change the rem note 'NO' after the ### to:
                    else ### YES
                    UPDATE
                    Since my most likely next operation is to move the new mirrored object, is there something I can change so that after I hit Return that the copy is selected rather than the original?

                    i7-4930K 3.4Ghz, 2x GTX780 6GB, 32GB DDR3-1600 ECC, OCZ Vertex 4 500GB, WD Black 3TB, 32TB NAS, 4x 27" Monitors, SpaceMouse Pro, X-keys XK-60

                    1 Reply Last reply Reply Quote 0
                    • pbacotP Offline
                      pbacot
                      last edited by

                      Using this GREAT tool a lot lately in framing models. Thanks for the note James. I really never want to erase the original, it seems, and it would be easier to just delete it rather than answer that dialog.

                      MacOSX MojaveSketchUp Pro v19 Twilight v2 Thea v3 PowerCADD

                      1 Reply Last reply Reply Quote 0
                      • Bob JamesB Offline
                        Bob James
                        last edited by

                        @pbacot said:

                        Using this GREAT tool a lot lately in framing models. Thanks for the note James. I really never want to erase the original, it seems, and it would be easier to just delete it rather than answer that dialog.

                        If this is directed to me, I don't understand your reply.

                        What I would prefer is that the new mirrored object be the one selected so I can immediately move it. This leaves me with the original in its location and the mirrored copy in the moved location.

                        No big deal: super extension πŸ‘

                        i7-4930K 3.4Ghz, 2x GTX780 6GB, 32GB DDR3-1600 ECC, OCZ Vertex 4 500GB, WD Black 3TB, 32TB NAS, 4x 27" Monitors, SpaceMouse Pro, X-keys XK-60

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

                          I'll consider your ideas in any future updates...

                          TIG

                          1 Reply Last reply Reply Quote 0
                          • pbacotP Offline
                            pbacot
                            last edited by

                            I thought your edits would obviate answering whether to erase original each time. I guess COTTY was actually the one to show that. I don't care regarding selection afterwards as I do NOT usually move the object.

                            MacOSX MojaveSketchUp Pro v19 Twilight v2 Thea v3 PowerCADD

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

                              Here's v5.0.
                              http://sketchucation.com/pluginstore?pln=Mirror
                              It's now an extension and is future-proofed...

                              TIG

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

                                Here's v6.0
                                http://sketchucation.com/pluginstore?pln=Mirror
                                It has some improved security features.

                                TIG

                                1 Reply Last reply Reply Quote 0
                                • mariochaM Offline
                                  mariocha
                                  last edited by

                                  @bob james said:

                                  ... I would prefer that the new mirrored object be the one selected so I can immediately move it.

                                  Being a big user of that extension, I often had that thought. So I second that. 😎

                                  %(#008000)[Mario C.
                                  Every rule has exceptions, but some.]

                                  1 Reply Last reply Reply Quote 0
                                  • josephkim626J Offline
                                    josephkim626
                                    last edited by

                                    @MARIOCHA

                                    Just in case you missed it πŸ˜„.
                                    TIG did mentioned the way to change that behavior in earlier reply.

                                    1 Reply Last reply Reply Quote 0
                                    • mariochaM Offline
                                      mariocha
                                      last edited by

                                      @josephkim626 said:

                                      @MARIOCHA
                                      Just in case you missed it πŸ˜„.
                                      TIG did mentioned the way to change that behavior in earlier reply.

                                      I had indeed missed it. Thanks.
                                      Line number to insert code has changed to 337.
                                      Works fine. πŸ˜„

                                      %(#008000)[Mario C.
                                      Every rule has exceptions, but some.]

                                      1 Reply Last reply Reply Quote 0
                                      • josephkim626J Offline
                                        josephkim626
                                        last edited by

                                        @mariocha said:

                                        @josephkim626 said:

                                        @MARIOCHA
                                        Just in case you missed it πŸ˜„.
                                        TIG did mentioned the way to change that behavior in earlier reply.

                                        I had indeed missed it. Thanks.
                                        Line number to insert code has changed to 337.
                                        Works fine. πŸ˜„

                                        I assume that you are enjoying that as much as I am! πŸ˜„

                                        1 Reply Last reply Reply Quote 0
                                        • mariochaM Offline
                                          mariocha
                                          last edited by

                                          Wanted to learn some more Ruby.
                                          Added LanguageHandler to it. French included.
                                          Tested on Mac and PC.

                                          update: Attached the Localized version. This version also selects the mirrored copy at exit.

                                          Comments welcome.


                                          Mirror.rbz

                                          %(#008000)[Mario C.
                                          Every rule has exceptions, but some.]

                                          1 Reply Last reply Reply Quote 0
                                          • mariochaM Offline
                                            mariocha
                                            last edited by

                                            I tweaked the localized version so that it can show the toolbar icon properly.
                                            In Mirror_code.rb: png=File.join(DATA, "Mirror.png")
                                            Previously the png file name was linked to the name of the extension. But that name changes upon localisation. I made it so that the link to the png filename is not variable.


                                            Mirror_v6.0LH.rbz

                                            %(#008000)[Mario C.
                                            Every rule has exceptions, but some.]

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

                                            Advertisement