• Login
sketchucation logo sketchucation
  • Login
⚠️ Libfredo 15.4b | Minor release with bugfixes and improvements Update

Ruby script for selecting color

Scheduled Pinned Locked Moved Developers' Forum
62 Posts 4 Posters 1.9k Views 4 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.
  • N Offline
    nithi09
    last edited by nithi09 Aug 18, 2022, 4:11 PM Mar 27, 2013, 6:57 PM

    Hi guys I am new to programing I am learning ruby script for Sketchup.How do I write script for to create simple box and change color of box by user. I mean when it prompt the depth, width and height also it has to offer three color to choose.Thanks

    this is a script for simple box

    <span class="syntaxdefault"></span><span class="syntaxkeyword">require&nbsp;</span><span class="syntaxstring">'sketchup.rb'<br /></span><span class="syntaxkeyword">require&nbsp;</span><span class="syntaxstring">'parametric.rb'<br /><br /></span><span class="syntaxkeyword">class&nbsp;</span><span class="syntaxdefault">Simple_box&nbsp;</span><span class="syntaxkeyword"><&nbsp;</span><span class="syntaxdefault">Parametric<br /><br />def&nbsp;create_entities</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">data</span><span class="syntaxkeyword">,&nbsp;</span><span class="syntaxdefault">container</span><span class="syntaxkeyword">)<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">w&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">data</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"w"</span><span class="syntaxkeyword">].</span><span class="syntaxdefault">to_l<br />&nbsp;&nbsp;&nbsp;&nbsp;d&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">data</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"d"</span><span class="syntaxkeyword">].</span><span class="syntaxdefault">to_l<br />&nbsp;&nbsp;&nbsp;&nbsp;h&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">data</span><span class="syntaxkeyword">[</span><span class="syntaxstring">"h"</span><span class="syntaxkeyword">].</span><span class="syntaxdefault">to_l<br />&nbsp;&nbsp;&nbsp;&nbsp;pts&nbsp;</span><span class="syntaxkeyword">=&nbsp;[[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">],&nbsp;[</span><span class="syntaxdefault">w</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">],&nbsp;[</span><span class="syntaxdefault">w</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">d</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">],&nbsp;[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">d</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">],&nbsp;[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">]]<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">base&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">container</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">add_face&nbsp;pts<br />&nbsp;&nbsp;&nbsp;&nbsp;h&nbsp;</span><span class="syntaxkeyword">=&nbsp;-</span><span class="syntaxdefault">h&nbsp;</span><span class="syntaxkeyword">if&nbsp;</span><span class="syntaxdefault">base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">normal</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">dot</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">Z_AXIS</span><span class="syntaxkeyword">)&nbsp;<&nbsp;</span><span class="syntaxdefault">0.0<br />&nbsp;&nbsp;&nbsp;&nbsp;base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">pushpull&nbsp;h<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />end<br /><br />def&nbsp;default_parameters<br />&nbsp;&nbsp;&nbsp;&nbsp;defaults&nbsp;</span><span class="syntaxkeyword">=&nbsp;{</span><span class="syntaxstring">"w"</span><span class="syntaxkeyword">,&nbsp;</span><span class="syntaxdefault">6.feet</span><span class="syntaxkeyword">,&nbsp;</span><span class="syntaxstring">"d"</span><span class="syntaxkeyword">,&nbsp;</span><span class="syntaxdefault">3.feet</span><span class="syntaxkeyword">,&nbsp;</span><span class="syntaxstring">"h"</span><span class="syntaxkeyword">,&nbsp;</span><span class="syntaxdefault">4.feet</span><span class="syntaxkeyword">}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">defaults<br />end<br /><br />def&nbsp;translate_key</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">key</span><span class="syntaxkeyword">)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">prompt&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">key<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxkeyword">case(&nbsp;</span><span class="syntaxdefault">key&nbsp;</span><span class="syntaxkeyword">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">when&nbsp;</span><span class="syntaxstring">"w"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">prompt&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxstring">"Width"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">when&nbsp;</span><span class="syntaxstring">"h"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">prompt&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxstring">"Height"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">when&nbsp;</span><span class="syntaxstring">"d"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">prompt&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxstring">"Depth"<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">end<br />&nbsp;&nbsp;&nbsp;&nbsp;prompt<br />end<br /><br />end<br /><br /></span><span class="syntaxkeyword">if(&nbsp;</span><span class="syntaxdefault">not&nbsp;$box_menu_loaded&nbsp;</span><span class="syntaxkeyword">)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">UI</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">menu</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Tools"</span><span class="syntaxkeyword">).</span><span class="syntaxdefault">add_item</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Simple_Box"</span><span class="syntaxkeyword">)&nbsp;{&nbsp;</span><span class="syntaxdefault">Simple_box</span><span class="syntaxkeyword">.new&nbsp;}&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">$box_menu_loaded&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">true<br />end</span>
    
    1 Reply Last reply Reply Quote 0
    • T Offline
      TIG Moderator
      last edited by Mar 28, 2013, 11:08 AM

      This box is a special category - a parametric object using a special inputbox set.
      Look up the API on 'inputbox' etc...
      This simple example [entered into a module/class/def-method] takes the selected object and gives it the specifed color...

      model=Sketchup.active_model
      ss=model.selection
      obj=ss[0]
      results=inputbox(['Enter Color; '], ['Red'], [""], 'Set Object Color...')
      return unless results
      color=results[0]
      color=nil if color==''
      obj.material=color
      

      If the specified color is one of the standard color-set it's made automatically, otherwise you'll get errors as for example 'Foobar' isn't a standard-color, and probably not an existing material name either ! ...
      To offer the user a 'list of colors' you can set the third argument to a list thus ["Red|Green|Blue"] which offers a drop down list of just those three colors, defaulting to 'Red'

      TIG

      1 Reply Last reply Reply Quote 0
      • N Offline
        nithi09
        last edited by Mar 28, 2013, 6:59 PM

        Thank you for the reply I am going to try

        1 Reply Last reply Reply Quote 0
        • T Offline
          TIG Moderator
          last edited by Apr 2, 2013, 2:18 PM

          You set
          obj = ss[3]
          which is the fourth entity in the selection when the code commences...

          Later on, after you have the 'color' - say it's 'Red' - you change
          obj.material=color

          That will work... BUT it's changing a preselected entity and NOT something you have just made in your code... 😒

          try something like
          **base**.material = color

          which will take your newly added face that you named 'base' and apply that material/color, then the pushpull on the face should replicate the material/color on the new faces that are added...

          You don't need/want 'obj' unless you are looking to change that too - BUT you have no way of knowing what the fourth entity in a given selection will be, they are no always ordered in the same way !

          TIG

          1 Reply Last reply Reply Quote 0
          • N Offline
            nithi09
            last edited by Apr 2, 2013, 2:24 PM

            Hi TIG!
            I try to do it won't work. could you look at it my code what i am doing wrong? here you go my code. Thanks

            <span class="syntaxdefault"></span><span class="syntaxkeyword">require&nbsp;</span><span class="syntaxstring">'Sketchup.rb'<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span class="syntaxdefault">def&nbsp;testbox1&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;model&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">Sketchup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_model<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ent&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">entities&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;ss&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">selection<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">ss</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">3</span><span class="syntaxkeyword">]<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">prompts&nbsp;</span><span class="syntaxkeyword">=&nbsp;[</span><span class="syntaxstring">"Width"</span><span class="syntaxkeyword">,</span><span class="syntaxstring">"Depth"</span><span class="syntaxkeyword">,</span><span class="syntaxstring">"Height"</span><span class="syntaxkeyword">,</span><span class="syntaxstring">"Colour"</span><span class="syntaxkeyword">]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">values&nbsp;</span><span class="syntaxkeyword">=&nbsp;[</span><span class="syntaxdefault">6.feet</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">4.feet</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">2.feet</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'Red'</span><span class="syntaxkeyword">]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list&nbsp;=&nbsp;[</span><span class="syntaxstring">""</span><span class="syntaxkeyword">,</span><span class="syntaxstring">""</span><span class="syntaxkeyword">,</span><span class="syntaxstring">""</span><span class="syntaxkeyword">,[</span><span class="syntaxstring">"Blue|Red|Green"</span><span class="syntaxkeyword">]]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">results&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">inputbox&nbsp;prompts</span><span class="syntaxkeyword">,&nbsp;</span><span class="syntaxdefault">values</span><span class="syntaxkeyword">,&nbsp;list,&nbsp;</span><span class="syntaxstring">"Test_Box"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxkeyword">return&nbsp;if&nbsp;</span><span class="syntaxdefault">not&nbsp;results<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wid&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">results</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">dep&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">results</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">hei&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">results</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">2</span><span class="syntaxkeyword">]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">color&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">results</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">3</span><span class="syntaxkeyword">]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">pts&nbsp;</span><span class="syntaxkeyword">=&nbsp;[[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">],&nbsp;[</span><span class="syntaxdefault">wid</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">],&nbsp;[</span><span class="syntaxdefault">wid</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">dep</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">],&nbsp;[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">dep</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">],[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">]]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">base&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">ent</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">add_face&nbsp;pts<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hei&nbsp;</span><span class="syntaxkeyword">=&nbsp;-</span><span class="syntaxdefault">hei&nbsp;</span><span class="syntaxkeyword">if(</span><span class="syntaxdefault">base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">normal</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">dot</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">Z_AXIS</span><span class="syntaxkeyword">)&nbsp;<&nbsp;</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">color&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">nil&nbsp;</span><span class="syntaxkeyword">if&nbsp;</span><span class="syntaxdefault">color&nbsp;</span><span class="syntaxkeyword">==</span><span class="syntaxstring">''<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">obj</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">material&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">color<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">pushpull&nbsp;hei<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;end<br /><br /><br /><br /></span><span class="syntaxkeyword">if&nbsp;(</span><span class="syntaxdefault">not&nbsp;$Testbox_menu_loaded</span><span class="syntaxkeyword">)<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;</span><span class="syntaxdefault">UI</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">menu</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Tools"</span><span class="syntaxkeyword">).</span><span class="syntaxdefault">add_item</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"TEST_BOX"</span><span class="syntaxkeyword">)&nbsp;{</span><span class="syntaxdefault">testbox1</span><span class="syntaxkeyword">}<br />&nbsp;&nbsp;</span><span class="syntaxdefault">$Testbox_menu_loaded&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">true<br />end</span>
            
            1 Reply Last reply Reply Quote 0
            • N Offline
              nithi09
              last edited by Apr 2, 2013, 7:48 PM

              Thank you
              it's worked when I use (base.back_material = color) in my code.

              1 Reply Last reply Reply Quote 0
              • T Offline
                TIG Moderator
                last edited by Apr 2, 2013, 9:26 PM

                Please don't use ' .back_material='.
                You want ' .material='...
                If your initial 'face' is not the "right way round" for the pushpull, DON'T make the result inside-out but colored correctly, rather you should add a test for the 'face' direction.
                A face drawn 'flat' at z=0 will always face downwards, irrespective of the cw/ccw direction of its outer_loop vertices...
                The face.normal is its vector.
                IF that is not facing away from the pushpull direction you might need to reverse the 'face' BEFORE the pushpull... with face.reverse! OR more simply use a -ve value for the pushpull - so it is in the upwards direction !! that is use -hei NOT hei...

                PS: I think your ' face' is called ' base'...

                TIG

                1 Reply Last reply Reply Quote 0
                • N Offline
                  nithi09
                  last edited by Apr 3, 2013, 1:20 PM

                  Thanks TIG
                  I have a question on the user input for the my testbox1 code I want to add user to choose three given value or they can enter custom value. I tried my self it works for given value to choose but custom value i don't know how to do. could you give me an idea? you know what I mean? combine list = ["6'|8'|10'|Custom"]

                  1 Reply Last reply Reply Quote 0
                  • T Offline
                    TIG Moderator
                    last edited by Apr 3, 2013, 1:32 PM

                    list = ["6'|8'|10'|Custom"] used in an inputbox will work... BUT when your get the results you will need to do another test on that result - let's call that x = results[0]...
                    ` if x == "Custom"

                    you now need a second input-dialog to get the custom size...

                    res = inputbox(["X: "], ["1'"], "Custom Size")

                    defsult is 1' [string]...

                    return nil unless res
                    x = res[0].to_l
                    else ### it's a distance [string]
                    x = x.to_l

                    which when "6'" it returns a value of 72" [which is 6 feet]

                    end`

                    TIG

                    1 Reply Last reply Reply Quote 0
                    • T Offline
                      TIG Moderator
                      last edited by Apr 3, 2013, 2:17 PM

                      You are confusing the first 'results' with the second 'results' by using the same name !
                      Use a different name for the second one... I've used 'resultsx'
                      ... return if not results x = results[0] if x == "Custom" resultsx = inputbox (["Enter Width:"], ["1'"], "Custom Size") return nil if not resultsx x = resultsx[0].to_l ### must turn string into a length else x = x.to_l end wid = x ### we have that value set already dep = results[1].to_l ### must turn string into a length hei = results[2].to_l color = results[3] ### this stays as a string ...

                      TIG

                      1 Reply Last reply Reply Quote 0
                      • N Offline
                        nithi09
                        last edited by Apr 3, 2013, 3:53 PM

                        Thanks TIG
                        I tried it's give me an error could you look at my code?

                        <span class="syntaxdefault"></span><span class="syntaxkeyword">require&nbsp;</span><span class="syntaxstring">'Sketchup.rb'<br /><br /></span><span class="syntaxdefault">def&nbsp;testbox1&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;model&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">Sketchup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_model<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ent&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">entities&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxcomment">#ss&nbsp;=&nbsp;model.selection<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#obj&nbsp;=&nbsp;ss[3]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">prompts&nbsp;</span><span class="syntaxkeyword">=&nbsp;[</span><span class="syntaxstring">"Width"</span><span class="syntaxkeyword">,</span><span class="syntaxstring">"Depth"</span><span class="syntaxkeyword">,</span><span class="syntaxstring">"Height"</span><span class="syntaxkeyword">,</span><span class="syntaxstring">"Colour"</span><span class="syntaxkeyword">]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">defaults&nbsp;</span><span class="syntaxkeyword">=&nbsp;[</span><span class="syntaxdefault">6.feet</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">4.feet</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">2.feet</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'Red'</span><span class="syntaxkeyword">]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list&nbsp;=&nbsp;[[</span><span class="syntaxstring">"6'|8'|10'|Custom"</span><span class="syntaxkeyword">],</span><span class="syntaxstring">""</span><span class="syntaxkeyword">,</span><span class="syntaxstring">""</span><span class="syntaxkeyword">,[</span><span class="syntaxstring">"Blue|Red|Green"</span><span class="syntaxkeyword">]]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">results&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">inputbox&nbsp;prompts</span><span class="syntaxkeyword">,&nbsp;</span><span class="syntaxdefault">defaults</span><span class="syntaxkeyword">,&nbsp;list,&nbsp;</span><span class="syntaxstring">"Test_Box"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxkeyword">return&nbsp;if&nbsp;</span><span class="syntaxdefault">not&nbsp;results<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">results</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;</span><span class="syntaxdefault">x&nbsp;</span><span class="syntaxkeyword">==&nbsp;</span><span class="syntaxstring">"Custom"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">results&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">inputbox&nbsp;</span><span class="syntaxkeyword">([</span><span class="syntaxstring">"Enter&nbsp;Width;"</span><span class="syntaxkeyword">],&nbsp;[</span><span class="syntaxstring">"1'"</span><span class="syntaxkeyword">],&nbsp;</span><span class="syntaxstring">"Custom&nbsp;Size"</span><span class="syntaxkeyword">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span class="syntaxdefault">nil&nbsp;</span><span class="syntaxkeyword">if&nbsp;</span><span class="syntaxdefault">not&nbsp;results<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">results</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">].</span><span class="syntaxdefault">to_l<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxkeyword">else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">x&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">x</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">to_l<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wid&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">results</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">dep&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">results</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">hei&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">results</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">2</span><span class="syntaxkeyword">]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">color&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">results</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">3</span><span class="syntaxkeyword">]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">pts&nbsp;</span><span class="syntaxkeyword">=&nbsp;[[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">],&nbsp;[</span><span class="syntaxdefault">wid</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">],&nbsp;[</span><span class="syntaxdefault">wid</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">dep</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">],&nbsp;[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">dep</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">]]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">base&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">ent</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">add_face&nbsp;pts<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hei&nbsp;</span><span class="syntaxkeyword">=&nbsp;-</span><span class="syntaxdefault">hei&nbsp;</span><span class="syntaxkeyword">if&nbsp;(</span><span class="syntaxdefault">base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">normal</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">dot</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">Z_AXIS</span><span class="syntaxkeyword">)&nbsp;<&nbsp;</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxcomment">#color&nbsp;=&nbsp;nil&nbsp;if&nbsp;color&nbsp;==''<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">back_material&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">color<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxcomment">#base.reverse!<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">pushpull&nbsp;hei<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;end<br /><br /><br /><br /></span><span class="syntaxkeyword">if&nbsp;(</span><span class="syntaxdefault">not&nbsp;$Testbox_menu_loaded</span><span class="syntaxkeyword">)<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;</span><span class="syntaxdefault">UI</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">menu</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Tools"</span><span class="syntaxkeyword">).</span><span class="syntaxdefault">add_item</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"TEST_BOX"</span><span class="syntaxkeyword">)&nbsp;{</span><span class="syntaxdefault">testbox1</span><span class="syntaxkeyword">}<br />&nbsp;&nbsp;</span><span class="syntaxdefault">$Testbox_menu_loaded&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">true<br />end</span>
                        
                        1 Reply Last reply Reply Quote 0
                        • N Offline
                          nithi09
                          last edited by Apr 3, 2013, 3:54 PM

                          Thanks TIG
                          I tried when I use sketchup inputbox popup use defalt nothing happening. when I choose custom it gives mesage "cannot convert Custom to length" could you tell me why?

                          <span class="syntaxdefault"></span><span class="syntaxkeyword">require&nbsp;</span><span class="syntaxstring">'Sketchup.rb'<br /><br /></span><span class="syntaxdefault">def&nbsp;testbox1&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;model&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">Sketchup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_model<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ent&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">entities&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxcomment">#ss&nbsp;=&nbsp;model.selection<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#obj&nbsp;=&nbsp;ss[3]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">prompts&nbsp;</span><span class="syntaxkeyword">=&nbsp;[</span><span class="syntaxstring">"Width"</span><span class="syntaxkeyword">,</span><span class="syntaxstring">"Depth"</span><span class="syntaxkeyword">,</span><span class="syntaxstring">"Height"</span><span class="syntaxkeyword">,</span><span class="syntaxstring">"Colour"</span><span class="syntaxkeyword">]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">defaults&nbsp;</span><span class="syntaxkeyword">=&nbsp;[</span><span class="syntaxdefault">6.feet</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">4.feet</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">2.feet</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'Red'</span><span class="syntaxkeyword">]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list&nbsp;=&nbsp;[[</span><span class="syntaxstring">"6'|8'|10'|Custom"</span><span class="syntaxkeyword">],</span><span class="syntaxstring">""</span><span class="syntaxkeyword">,</span><span class="syntaxstring">""</span><span class="syntaxkeyword">,[</span><span class="syntaxstring">"Blue|Red|Green"</span><span class="syntaxkeyword">]]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">results&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">inputbox&nbsp;prompts</span><span class="syntaxkeyword">,&nbsp;</span><span class="syntaxdefault">defaults</span><span class="syntaxkeyword">,&nbsp;list,&nbsp;</span><span class="syntaxstring">"Test_Box"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxkeyword">return&nbsp;if&nbsp;</span><span class="syntaxdefault">not&nbsp;results<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">results</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;</span><span class="syntaxdefault">x&nbsp;</span><span class="syntaxkeyword">==&nbsp;</span><span class="syntaxstring">"Custom"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">resultsx&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">inputbox&nbsp;</span><span class="syntaxkeyword">([</span><span class="syntaxstring">"Enter&nbsp;Width;"</span><span class="syntaxkeyword">],&nbsp;[</span><span class="syntaxstring">"1'"</span><span class="syntaxkeyword">],&nbsp;</span><span class="syntaxstring">"Custom&nbsp;Size"</span><span class="syntaxkeyword">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span class="syntaxdefault">nil&nbsp;</span><span class="syntaxkeyword">if&nbsp;</span><span class="syntaxdefault">not&nbsp;resultsx<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">resultsx</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">].</span><span class="syntaxdefault">to_l<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxkeyword">else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">x&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">x</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">to_l<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wid&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">x<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dep&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">results</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">hei&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">results</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">2</span><span class="syntaxkeyword">]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">color&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">results</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">3</span><span class="syntaxkeyword">]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">pts&nbsp;</span><span class="syntaxkeyword">=&nbsp;[[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">],&nbsp;[</span><span class="syntaxdefault">wid</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">],&nbsp;[</span><span class="syntaxdefault">wid</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">dep</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">],&nbsp;[</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">dep</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">]]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">base&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">ent</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">add_face&nbsp;pts<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hei&nbsp;</span><span class="syntaxkeyword">=&nbsp;-</span><span class="syntaxdefault">hei&nbsp;</span><span class="syntaxkeyword">if&nbsp;(</span><span class="syntaxdefault">base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">normal</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">dot</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">Z_AXIS</span><span class="syntaxkeyword">)&nbsp;<&nbsp;</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxcomment">#color&nbsp;=&nbsp;nil&nbsp;if&nbsp;color&nbsp;==''<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">back_material&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">color<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxcomment">#base.reverse!<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">base</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">pushpull&nbsp;hei<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;end<br /><br /><br /><br /></span><span class="syntaxkeyword">if&nbsp;(</span><span class="syntaxdefault">not&nbsp;$Testbox_menu_loaded</span><span class="syntaxkeyword">)<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;</span><span class="syntaxdefault">UI</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">menu</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Tools"</span><span class="syntaxkeyword">).</span><span class="syntaxdefault">add_item</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"TEST_BOX"</span><span class="syntaxkeyword">)&nbsp;{</span><span class="syntaxdefault">testbox1</span><span class="syntaxkeyword">}<br />&nbsp;&nbsp;</span><span class="syntaxdefault">$Testbox_menu_loaded&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">true<br />end</span>
                          
                          1 Reply Last reply Reply Quote 0
                          • thomthomT Offline
                            thomthom
                            last edited by Apr 3, 2013, 3:57 PM

                            @nithi09 said:

                            I tried when I use sketchup inputbox popup use defalt nothing happening. when I choose custom it gives mesage "cannot convert Custom to length" could you tell me why?

                            Because you set the default value of the box to an object of the type Length (6.feet) - this means that the input box will try to convert the return value to be of the same type.

                            But "Custom" cannot be converted into a valid Length object.

                            So instead you'd need to use strings as the default value and handle the conversion back to Length as needed.

                            Btw, it's a lot easier to read your code if you wrap it in [code] tags. (I've done it for you so far.)

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

                            1 Reply Last reply Reply Quote 0
                            • T Offline
                              TIG Moderator
                              last edited by Apr 3, 2013, 4:51 PM

                              Well done TT - I didn't spot the mismatch between 6.feet length and "6'" string.
                              If you are making a dropdown list it needs to be text, that you convert to a length later...

                              TIG

                              1 Reply Last reply Reply Quote 0
                              • T Offline
                                TIG Moderator
                                last edited by Apr 3, 2013, 4:53 PM

                                Not
                                require 'Sketchup.rb' class Testbox def testbox1
                                ...
                                Try
                                require 'Sketchup.rb' class Testbox def **initialize**()
                                ...
                                Then use Testbox.new() which will run the initialize...

                                TIG

                                1 Reply Last reply Reply Quote 0
                                • N Offline
                                  nithi09
                                  last edited by Apr 3, 2013, 6:11 PM

                                  Thanks you for you help. it's works

                                  1 Reply Last reply Reply Quote 0
                                  • N Offline
                                    nithi09
                                    last edited by Apr 4, 2013, 7:47 PM

                                    Hi I want to add texture for this box I want to see this box look like glass box any Idea?
                                    thanks

                                    1 Reply Last reply Reply Quote 0
                                    • T Offline
                                      TIG Moderator
                                      last edited by Apr 4, 2013, 8:09 PM

                                      If you have a glass texture already existing use that by 'Name'.

                                      If you have added a 'color' material you can get a reference to that after you have made it/added it to a face: mat=base.material and then use mat.alpha=0.5 to add opacity < 1... aka transparency

                                      TIG

                                      1 Reply Last reply Reply Quote 0
                                      • N Offline
                                        nithi09
                                        last edited by Apr 5, 2013, 2:28 PM

                                        Hi TIG it's working. but I want to see both way. I mean from outside to inside the box see through fine but inside to outside not see through how do I can do both way? or where do I can find clear glass texture
                                        Thanks

                                        1 Reply Last reply Reply Quote 0
                                        • T Offline
                                          TIG Moderator
                                          last edited by Apr 5, 2013, 3:42 PM

                                          When you give the first face ['base' ?] its material you need to also apply it to the back face thus:
                                          base.material = 'xxxx' base.**back_material** = 'xxxx'
                                          where 'xxxx' is the material...

                                          TIG

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

                                          Advertisement