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

    Basic operation on char...

    Scheduled Pinned Locked Moved Developers' Forum
    16 Posts 2 Posters 149 Views 2 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.
    • thomthomT Offline
      thomthom
      last edited by

      @njeremy2 said:

      Sorry I don't understand the first time I read your post...
      I can use attributes but I see in AUTOMATIC Sketchup.pdf that's attributes cannot be stored when you save a component (I understand that)

      If you store attributes with the definition then you can export the component with the attributes.

      Example:

      componentinstance.definition.set_attribute('MyTest', 'Foo', 'Bar')

      Export component

      New model

      Import exported model

      componentinstance.definition.get_attribute('MyTest', 'Foo')
      ( returns 'Bar' )

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

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

        hmmmm, well...

        With that, you can add an attribute called "reference" for all components and set attribute then ?

        So if I do like that : componentinstance.definition.set_attribute('Reference', '755480RED', 'Valuedefaultif 755480RED doesnt exist')

        That would work ?

        And to list all references, how should I do ?
        componentinstance.definition.set_attribute('Reference') ?

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

          Read the API docs again.

          set_attribute takes three arguments. The third one is the value.

          entity.set_attribute( 'DictionaryName', 'Key', 'Value' )
          entity.get_attribute( 'DictionaryName', 'Key' )

          So, if you do something like to to add a reference ID:
          entity.set_attribute( 'nJeremy2', 'Reference', referenceID )

          You can list all definitions with a reference set like so:

          <span class="syntaxdefault"><br />for definition in Sketchup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">definitions<br />  next if definition</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">image</span><span class="syntaxkeyword">?<br /></span><span class="syntaxdefault">  next if definition</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">group</span><span class="syntaxkeyword">?<br /></span><span class="syntaxdefault">  referenceID </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> entity</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">get_attribute</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxstring">'nJeremy2'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">'Reference'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">  next if referenceID</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">nil</span><span class="syntaxkeyword">?<br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment"># Do something to the definition here...<br /></span><span class="syntaxdefault">end<br /></span>
          

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

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

            yeah ok !
            I will try but the result is not guarantee

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

              my solution by putting the reference in description work, it isn't good programming but it works lol

              thank you thom !

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

                What if your user accidentally modify the description? Or some other plugin the user has install modifies it?

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

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

                  @thomthom said:

                  What if your user accidentally modify the description? Or some other plugin the user has install modifies it?

                  right...

                  But I try to use attributes, but I cannot do it right

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

                    What is not working right?
                    Do you have a sample code?

                    When assigning an attribute to the definition the attribute is stored whenever you export - it works fine. But if it doesn't work for you then it's probably something in your code that isn't quite right.

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

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

                      @thomthom said:

                      What is not working right?
                      Do you have a sample code?

                      When assigning an attribute to the definition the attribute is stored whenever you export - it works fine. But if it doesn't work for you then it's probably something in your code that isn't quite right.

                      I have nothing at home, tomorrow I'll show you what I need to do with that (with screenshots)

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

                        For this example I put a tree and a Blue cube.
                        The tree has no description and the Cube has code reference then the real description after "b755480 BLABLABLA".
                        Then I create a groupe with the 2 objects called "Tree+cube"

                        http://img840.imageshack.us/img840/23/designpx.png

                        Now I export all information with my plugin :

                        http://img689.imageshack.us/img689/8130/exports.png

                        then I export all information in CSV File :

                        http://img804.imageshack.us/img804/2953/exportcsv.png

                        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