sketchucation logo sketchucation
    • Login
    Oops, your profile's looking a bit empty! To help us tailor your experience, please fill in key details like your SketchUp version, skill level, operating system, and more. Update and save your info on your profile page today!
    πŸ«› Lightbeans Update | Metallic and Roughness auto-applied in SketchUp 2025+ Download

    [Code] ComponentInstance-add_entities v1.9

    Scheduled Pinned Locked Moved Developers' Forum
    33 Posts 5 Posters 24.2k Views 5 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
      HPW
      last edited by

      So now we have this great addition to the toolset, what is the best way of delivery?
      The file gets copied into the Plugins-Directory.

      What should our own installer should do?
      Check the existence of the file and install it if not present?
      Check date and install it if a newer version is available?

      Can the ruby-code check if the method is installed?
      If not use a copy installed in the own subfolder?

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

        @unknownuser said:

        The file gets copied into the Plugins-Directory.
        Your own installer should check the existence of the file and install it if not present, BUT also check any existing file's modification-date and install if you have a newer version.

        Yes to all, this is the best way for all plugins...

        TIG

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

          Method 'group.definition'....
          More correct would be the code:

          
          class Sketchup;;Group
             def definition
                self.entities.parent
             end
          end
          
          

          Because, when group is empty
          there is an error at the use of code: self.entities[0.parent]
          The group may be empty soon after its inception.
          For example:

          group = Sketchup.active_model.active_entities.add_group
          definition = group.definition
          

          Request to replace a code on more correct, because I use this method in the developments.
          ❗

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

            Following AlexM's point I have adjusted to code to avoid empty group errors...
            v1.5 is now here... http://www.sketchucation.com/forums/scf/viewtopic.php?p=145009#p145009

            TIG

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

              An oversight has been corrected...

              v1.6 all definition.behavior(s) now fully copied across. 20090702 download it from... http://forums.sketchucation.com/viewtopic.php?p=145009#p145009

              TIG

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

                I run into a problem when I use add_entities from a startup-ruby.
                The code line:

                @kombi_group_sel_def.instances[0].add_entities(@kombi_group_list)
                
                

                throws an error : undefined method `parent' for nil:NilClass

                My ruby (zAutostart.rb) loads after the ComponentInstance-add_entities.rb

                When I disable the call in my ruby and start the command from the console it runs without problems.

                1 Reply Last reply Reply Quote 0
                • thomthomT Offline
                  thomthom
                  last edited by

                  Are you sure you have an instance of that definition in your model?

                  Thomas Thomassen β€” SketchUp Monkey & Coding addict
                  List of my plugins and link to the CookieWare fund

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

                    @thomthom said:

                    Are you sure you have an instance of that definition in your model?

                    Yes, because when I outcomment my call and type it in the console after start-complete it works.

                    Therefor I build just a workaround:

                    
                     wsh = WIN32OLE.new('Wscript.Shell')
                     if wsh.AppActivate(skpbasename+".skp - SketchUp")
                      sleep(1)
                      wsh.SendKeys('{F2}')
                      sleep(1)
                      wsh.SendKeys('convert_acad_import{ENTER}')
                     end
                    
                    

                    Seems that ruby's on startup have problems to use other stuff from other startup-rubys.

                    1 Reply Last reply Reply Quote 0
                    • thomthomT Offline
                      thomthom
                      last edited by

                      @hpw said:

                      Seems that ruby's on startup have problems to use other stuff from other startup-rubys.

                      Hm.. maybe you're calling a ruby that isn't loaded. Have you added an require statement for all the rubys you depend on?

                      Thomas Thomassen β€” SketchUp Monkey & Coding addict
                      List of my plugins and link to the CookieWare fund

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

                        Cannot be true, because the error come from inside the add_entities-code.
                        Otherwise the error would tell about unknown method.

                        1 Reply Last reply Reply Quote 0
                        • thomthomT Offline
                          thomthom
                          last edited by

                          Maybe things aren't ready immediately when SU loads the plugins...
                          Have you tried using a timer to delay the execution of your script instead of having to send keystrokes`?

                          Thomas Thomassen β€” SketchUp Monkey & Coding addict
                          List of my plugins and link to the CookieWare fund

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

                            require 'toggleWindows.rb' ?

                            TIG

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

                              @thomthom said:

                              Maybe things aren't ready immediately when SU loads the plugins...
                              Have you tried using a timer to delay the execution of your script instead of having to send keystrokes`?

                              I tried a 'sleep' with some diferent values without any success.

                              @tig said:

                              require 'toggleWindows.rb' ?

                              I had it yet for closing the outliner.
                              With my workaround it is working fine now.
                              (Automated DWG-Creation and SKP-Conversion(Acad-Blocks to SU-DC with non-editable prop) in a Batch process.)

                              1 Reply Last reply Reply Quote 0
                              • thomthomT Offline
                                thomthom
                                last edited by

                                @hpw said:

                                I tried a 'sleep' with some diferent values without any success.

                                sleep prevents everything else to process. If you use a timer you allow the rest to continue processing.

                                Thomas Thomassen β€” SketchUp Monkey & Coding addict
                                List of my plugins and link to the CookieWare fund

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

                                  v1.7 is now available - now any Attribute Dictionaries the Definition might have are kept when the Definition is reworked with the new entities...

                                  http://forums.sketchucation.com/viewtopic.php?p=145009#p145009

                                  .

                                  TIG

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

                                    Using 1.7 instead of 1.6 gives me this error:

                                    @unknownuser said:

                                    convert_acad_import
                                    Error: #<NoMethodError: C:/Programme/Google/Google SketchUp 7/Plugins/ComponentInstance-add_entities17.rb:188:in add_entities': undefined method each' for nil:NilClass>
                                    C:/Programme/Google/Google SketchUp 7/Plugins/ComponentInstance-add_entities17.rb:188

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

                                      I've check it out...
                                      School boy error ! Now fixed with v1.8...
                                      http://forums.sketchucation.com/viewtopic.php?p=145009#p145009

                                      TIG

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

                                        Thanks for the quick fix.
                                        Working correctly again!

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

                                          Here's v1.9 http://forums.sketchucation.com/viewtopic.php?p=145009#p145009
                                          Copies over Instance Attributes if copy making set...

                                          TIG

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

                                          Advertisement