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

    [Code] ComponentInstance-add_entities v1.9

    Scheduled Pinned Locked Moved Developers' Forum
    33 Posts 5 Posters 24.0k 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