• Login
sketchucation logo sketchucation
  • Login
πŸ€‘ SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now

[Plugin] Component Edit Window v1.3 12072011

Scheduled Pinned Locked Moved Plugins
46 Posts 18 Posters 54.1k Views 18 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.
  • H Offline
    honoluludesktop
    last edited by honoluludesktop 26 Dec 2010, 17:24

    Fixed "open component file" bug.
    TIG: Edit.
    Freely use, and abuse at your own risk. Fitness of use is not warranty implied.
    The tool opens a selected component in a temporary [new] window for easy editing; avoiding problems with clipping planes etc.
    Select a component then right-click and use the context-menu item Component Edit Window.
    The selected component will now open in a new temporary edit window.
    Edit the component's geometry etc, and then Save to Close the temporary edit window and to return to the original model: a dialog then asks if you want to Update that component, OK to update all instances of it, Cancel to skip.
    Closing the temporary edit window without Saving returns to the original model without any changes.
    All temporary edit files [stored in the User's Temp folder] are removed as the temporary edit window closes.
    A selected group also can be converted to a component... and then edited in a new window by using the alternative context-menu item.
    The original model's window remains is under the second temporary edit one.
    If you need to refer to the original while editing, move the second instance to the side as illustrated below, or toggle between wndows...


    Sketchup window with model, and second sketchup instance with selected component.

    1 Reply Last reply Reply Quote 0
    • D Offline
      Didier Bur
      last edited by 26 Dec 2010, 21:27

      Hi,

      system "C;\\Program Files\\Google\\Google SketchUp 8\\SketchUp.exe "+name+".skp"
      

      I think this won't work on a Mac, and possibly won't work on a PC if SU is installed elsewhere than this default location.
      I suggest you use the registry key to find where SU is installed on the user PC, or the 'Sketchup.find_support_file' method.
      Best regards and happy new year,

      DB

      1 Reply Last reply Reply Quote 0
      • H Offline
        honoluludesktop
        last edited by 26 Dec 2010, 22:11

        Yes, thanks. Its currently written as:

        name=cnt_instance.definition.name dir_name=File.dirname(model.path) comp_name=dir_name+"\\"+name+".skp" UI.openURL(comp_name)

        If I stay with system:

        file_path_name = Sketchup.find_support_file("plugins") file_path_name=File.dirname(file_path_name)+"/SketchUp " system file_path_name+name+".skp"

        1 Reply Last reply Reply Quote 0
        • H Offline
          honoluludesktop
          last edited by 28 Dec 2010, 23:13

          Unless some compelling reason is deduced, in order to avoid confusion, and make the plugin easier to support, I will remove one of the version posted.

          1 Reply Last reply Reply Quote 0
          • H Offline
            honoluludesktop
            last edited by 31 Dec 2010, 14:11

            This update will change all instances of the selected component.


            Select component, and open in new SketchUp window.


            Edit component in new window.


            Save, and replace all instances in the original model.

            1 Reply Last reply Reply Quote 0
            • H Offline
              honoluludesktop
              last edited by 31 Dec 2010, 14:13

              Pc only version posted above.


              Edited component.


              Saving closes second window, and update is applied to the model.

              1 Reply Last reply Reply Quote 0
              • H Offline
                honoluludesktop
                last edited by 8 Jan 2011, 16:13

                Fixed "open component file" bug.

                1 Reply Last reply Reply Quote 0
                • D Offline
                  derei
                  last edited by 3 Mar 2011, 16:18

                  I noticed different toolbars in Component Editing Window. Is that a feature included in plugin? will have just custom selected toolbars in new opened window?

                  DESIGNER AND ARTIST [DEREI.UK](http://derei.uk/l)

                  1 Reply Last reply Reply Quote 0
                  • H Offline
                    honoluludesktop
                    last edited by 3 Mar 2011, 23:41

                    The component window will inherit the menus from the parent. I changed the menus in my presentation of the edit window to illustrate how the plugin functioned, in a small picture.

                    1 Reply Last reply Reply Quote 0
                    • E Offline
                      Edson
                      last edited by 8 Mar 2011, 12:08

                      for your information, the makers of Podium have released a commercial plugin called EditinPlace that does exactly what yours does.

                      edson mahfuz, architect| porto alegre β€’ brasil
                      http://www.mahfuz.arq.br

                      1 Reply Last reply Reply Quote 0
                      • E Offline
                        EarthMover
                        last edited by 8 Mar 2011, 17:30

                        Great idea! I always keep a 2nd SU open for this reason. This should streamline it quite a bit. Thanks! πŸ‘

                        3D Artist at Clearstory 3D Imaging
                        Guide Tool at Winning With Sketchup
                        Content Creator at Skapeup

                        1 Reply Last reply Reply Quote 0
                        • G Offline
                          Ghalko
                          last edited by 12 Mar 2011, 22:14

                          Definitely dabbling in the code to use existing components, or make them if they don't exist. First foray into ruby, I already dislike that it doesn't do much with curly braces and semicolons. I usually program C and PERL. πŸ’š

                          I just thought that it could be setup to save in a tree of folders, might make the code quite a bit longer, but might make saving components easy and finding them individually. Now to figure out how to only save the geometry in the components file and still load it into the trunk of the tree. 😲 My ideas are getting far beyond my grasp of ruby and the API. I should keep it simple for a bit.

                          When I get somewhere with it would you like me to post it or send you the code for perusal/editing?

                          Arrrggghhh! Why won't it make a face!!! Stupid, no good piece of... Oh look! The line went to the wrong point. Whew... moving on. (My fights with sketchup.)

                          1 Reply Last reply Reply Quote 0
                          • H Offline
                            honoluludesktop
                            last edited by 13 Mar 2011, 10:37

                            Post it in the Developers section, there you can get help from those who are truly gifted in SketchUp ruby, and the Api. Everything I have written, was with their help.

                            1 Reply Last reply Reply Quote 0
                            • A Offline
                              artofseeing
                              last edited by 6 Jul 2011, 10:27

                              hi,

                              the plugin is missing in my index menu.

                              also, when i try to load the plugin via ruby console,

                              my ruby console puts the following:

                              load component_edit_window_v1.0.rb
                              Error; #<SyntaxError; (eval);48; compile error
                              (eval);48; no .<digit> floating literal anymore; put 0 before dot
                              load component_edit_window_v1.0.rb
                                                            ^
                              (eval);48; syntax error, unexpected tINTEGER
                              load component_edit_window_v1.0.rb
                                                             ^>
                              (eval);48
                              
                              

                              i have su8 installed in the default location.
                              and i put the plugin into Plugins.

                              thanks for any help.
                              πŸ‘

                              as long as there is a voyage away, there's always a journey back...

                              http://artofseeing.carbonmade.com

                              1 Reply Last reply Reply Quote 0
                              • TIGT Offline
                                TIG Moderator
                                last edited by 6 Jul 2011, 10:30

                                You need to pass a string to 'load' πŸ€“
                                It's NOT load component_edit_window_v1.0.rb
                                BUT load 'component_edit_window_v1.0.rb'
                                πŸ˜’

                                To check the file really exists use this in the Ruby Console
                                File.exist?(File.join(Sketchup.find_support_file('Plugins'),'component_edit_window_v1.0.rb')) if 'false' then 'there's a rabbit away'!

                                If you have Vista or Win7 and don't have full permission to the subfolders within the Sketchup folder weird things can happen - you think you've added a file but the OS has actually put it into a side-folder - the 'Compatibility Files' issue... If this is the case look to see if there's a button of that name in the top window bars... Fix your permissions for all folders within the Sketchup folder so it doesn't recur...

                                TIG

                                1 Reply Last reply Reply Quote 0
                                • A Offline
                                  artofseeing
                                  last edited by 6 Jul 2011, 10:44

                                  twas indeed the permission issue.

                                  both code snippets (load and file exist) put TRUE,
                                  so now it works.πŸ˜„
                                  thanks alot!

                                  thats what i too call STREAMLINING!!

                                  thanks a lot

                                  as long as there is a voyage away, there's always a journey back...

                                  http://artofseeing.carbonmade.com

                                  1 Reply Last reply Reply Quote 0
                                  • pilouP Offline
                                    pilou
                                    last edited by 6 Jul 2011, 10:49

                                    you can now use this cool plugin by Sdmitch
                                    Replace randomly components πŸ˜‰
                                    (or not random if there is only one as source πŸ˜‰

                                    Frenchy Pilou
                                    Is beautiful that please without concept!
                                    My Little site :)

                                    1 Reply Last reply Reply Quote 0
                                    • P Offline
                                      pitrak
                                      last edited by 22 Aug 2011, 09:47

                                      I've just tested the plugin on SU8 (win7 32bit) and it only works for groups, not components - the new SU window just doesn't load.
                                      Any suggestions?

                                      1 Reply Last reply Reply Quote 0
                                      • D Offline
                                        derei
                                        last edited by 20 Oct 2011, 06:13

                                        It doesn't work for me 😞
                                        I tried to use it, but I get this error in console:

                                        Error: #<NoMethodError: undefined methoddefinition' for #Sketchup::Group:0xe7a4c58>
                                        C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/component_edit_window_v1.0.rb:61:in atelier_edit_instance' C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/component_edit_window_v1.0.rb:60:in each'
                                        C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/component_edit_window_v1.0.rb:60:in atelier_edit_instance' C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/component_edit_window_v1.0.rb:124 (eval):3:in call'
                                        (eval):3:in call' (eval):1:in get_New_Commands'
                                        C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/component_edit_window_v1.0.rb:61:in call' C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/component_edit_window_v1.0.rb:61

                                        DESIGNER AND ARTIST [DEREI.UK](http://derei.uk/l)

                                        1 Reply Last reply Reply Quote 0
                                        • TIGT Offline
                                          TIG Moderator
                                          last edited by 20 Oct 2011, 08:51

                                          dereeei

                                          Edit the .rb file at lines #55-56 using Notepad or similar plain text editor
                                          Change

                                          all_instances=componentdefinition.instances if all_instances[0]==nil

                                          to read

                                          all_instances=**cnt_instance.definition**.instances if all_instances**.length==1**

                                          this will avoid the potential glitch, which wrongly looks at the "model.defintions[0]" instances rather than the selected instance's definition's instances - and which might inadvertently throw up a 'group', which then won't have a ".definition" method in the API...

                                          TIG

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

                                          Advertisement