sketchucation logo sketchucation
    • 登入
    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!
    🔌 Smart Spline | Fluid way to handle splines for furniture design and complex structures. Download

    [Plugin] Make Fur v.2.1.0(20140323)

    已排程 已置頂 已鎖定 已移動 Plugins
    650 貼文 255 Posters 1.1m 瀏覽 254 Watching
    正在載入更多貼文
    • 從舊到新
    • 從新到舊
    • 最多點贊
    回覆
    • 在新貼文中回覆
    登入後回覆
    此主題已被刪除。只有擁有主題管理權限的使用者可以查看。
    • T 離線
      tak2hata
      最後由 編輯

      @frederik said:

      Would it be possible to add an option, where you can select that components don't intersect with each other...??

      That's very difficult for me.I will challenge future.Please wait without expecting it. 😒

      @unknownuser said:

      I'm french and use SU on a french vista system. In french we use the comma (,) for decimal separation
      If it's 0cm it's ok, but if it's 0 cm (with space) it dont work.

      Indeed,I learnt it for the first time. I will think about some measures for that problem.

      @thomas said:

      could you keep the filename free from the version number? That way it's easier to update by just dragging the file into the plugins folder overriding the old.

      Thanks.That's right! I will keep the filename. 😉


      by TAK2HATA

      1 條回覆 最後回覆 回覆 引用 0
      • FrederikF 離線
        Frederik
        最後由 編輯

        @tak2hata said:

        That's very difficult for me.I will challenge future.Please wait without expecting it. 😒

        I'll keep my fingers crossed... 😄
        This plug-in is so much fun to work with...
        You have my deepest respect...
        http://www.kerkythea.net/users/Frederik/Anim-Icons/praise.gif

        Cheers
        Kim Frederik

        1 條回覆 最後回覆 回覆 引用 0
        • thomthomT 離線
          thomthom
          最後由 編輯

          @unknownuser said:

          Can you use the period in the SU standard value input ? I cant ! I must use the comma and the semi-colon as separator (i.e. 10,5;22,4 for a rectangle).

          Not in the SU VCB area, no. But this plugin doesn't use this, does it? ❓
          What I was referring to was the webdialog (metric) for this plugin. The screenshot I showed last time.

          @unknownuser said:

          No, cm is in the default setting.
          If it's 0cm it's ok, but if it's 0 cm (with space) it dont work.

          OK, I know why I have the unit after value, because it's a SU setting in the Model info : "Display units format". Uncheck it, disable the cm.
          ... And if I set the Precision (in Model info -> Units) to 0 instead 0,0 all it's ok in the Fur setting windows, I have 0,0,5 (but setting 0cm for Precision or mm for Units in it's not ok for my way of work 😉)

          Are you seeing "cm" in the webdialog for this plugin?
          I'm confused...

          Or are you talking about SU in general?

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

          1 條回覆 最後回覆 回覆 引用 0
          • T 離線
            tak2hata
            最後由 編輯

            Hi,All.
            I update fur plugin.
            Now it's version 1_3d.
            this fileName will keep to "fur_en.rb" for future.
            When you use this version ,you must remove older version fur plugin file from sketchup plugins folder.

            Thanks.


            by TAK2HATA

            1 條回覆 最後回覆 回覆 引用 0
            • thomthomT 離線
              thomthom
              最後由 編輯

              Good stuff! 👍

              Very nice plugin this. Shaping up good.

              Another remark: menu names, can you also avoid version number in the menu names? Keep them static? Because when the menu name changes between updates the shortcuts assigned to them doesn't work any more.

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

              1 條回覆 最後回覆 回覆 引用 0
              • thomthomT 離線
                thomthom
                最後由 編輯

                hmmm...
                I now see the problem daredevil talked about.

                tak2hata:
                When the user's locale is decimal you can't use the comma to get the various components of the vectors.
                2010-05-20 12h02_47.png

                "0,400mm,0mm,0mm" is interpreted as x=0, y=400, z=0

                The problem is this:

                
                  def fur_dialog_ini
                    @fur_units_metric = false
                    @fur_units_metric = true if ( 0.to_l.to_s )["m"]
                    @delim = ","
                    @delim = ";" if Sketchup.get_locale.upcase == "FR"
                  end
                
                

                This code only checks for FR Sketchup locale. But there are many more that uses , comma as decimal delimiter. Norwegian for instance.
                But, Sketchup.get_locale does not return the locale of the system. It returns the language code of Sketchup.
                For instance, I use Norwegian locales, but use English SU. Sketchup.get_locale returns en-US

                I've been recently struggling with this myself.
                And the hack I ended up using to find the user's comma decimal separator was this: @decimal_separator ||= 1.2.to_l.to_s.match(/\d(\D)\d/)[1]
                See http://forums.sketchucation.com/viewtopic.php?f=180&t=28346 for more info.

                Now, this only gives you what the comma separator is. I've not found a way to find the list separator. Just I think you can catch most cases by assuming locales with comma as decimal separator uses ; as list separator.

                So to revise your code:

                
                  def fur_dialog_ini
                    @fur_units_metric = false
                    @fur_units_metric = true if ( 0.to_l.to_s )["m"]
                    decimal_sep = 1.2.to_l.to_s.match(/\d(\D)\d/)[1]
                    @delim = ";" if decimal_sep == ','
                  end
                
                

                Then there is the other part of that method:
                @fur_units_metric = false @fur_units_metric = true if ( 0.to_l.to_s )["m"]
                Use model.options to get the user units.
                http://code.google.com/apis/sketchup/docs/ourdoc/model.html#options

                It returns an OptionManager that gives you access to some OptionsProvider classes.
                http://code.google.com/apis/sketchup/docs/ourdoc/optionsmanager.html
                http://code.google.com/apis/sketchup/docs/ourdoc/optionsprovider.html

                To inspect the available options, use this snippet:
                Sketchup.active_model.options.keys.each {|key| p key; Sketchup.active_model.options[key].each {|k,v| puts "> #{k} - #{v}"} }

                Using that you can see that model.options["UnitsOptions"] gives you all the info you need about the model units.
                model.options["UnitsOptions"]["LengthUnit"] gives you the unit type.

                The unit types are:
                // LENGTH_FORMAT: 0 = Decimal, 1 = Arcitectural, 2 = Engineering // LENGTH_UNITS: 0 = Inches, 1 = Feet, 2 = Millimeters 3 = centimeters, 4 = Meters // LENGTH_PRECISION: number of decimal places to show
                (Found this in the Google SketchUp 7\Resources\en-US\i18n.dat file)

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

                1 條回覆 最後回覆 回覆 引用 0
                • GaieusG 離線
                  Gaieus
                  最後由 編輯

                  @frederik said:

                  ...Only in UK in Europe (and I believe on Cypres too) they drive in the left side... 😉

                  And Ireland, too.

                  Gai...

                  1 條回覆 最後回覆 回覆 引用 0
                  • W 離線
                    watkins
                    最後由 編輯

                    Countries that drive on the left

                    Link Preview Image
                    File:Countries driving on the left or right.svg - Wikipedia

                    favicon

                    (en.wikipedia.org)

                    Quite a few.

                    1 條回覆 最後回覆 回覆 引用 0
                    • soloS 離線
                      solo
                      最後由 編輯

                      @unknownuser said:

                      Countries that drive on the left

                      Looks like a British commonwealth map. 😕

                      http://www.solos-art.com

                      If you see a toilet in your dreams do not use it.

                      1 條回覆 最後回覆 回覆 引用 0
                      • GaieusG 離線
                        Gaieus
                        最後由 編輯

                        Yeah. Though already a minority of the countries, still "the sun never sets over the countries that drive on the left".
                        😄

                        Gai...

                        1 條回覆 最後回覆 回覆 引用 0
                        • pilouP 離線
                          pilou
                          最後由 編輯

                          @unknownuser said:

                          This code only checks for FR Sketchup locale.

                          And when French user uses directly FR Locale "." (modified) whith English SU version seems there is no problem? 😉
                          wind.jpg

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

                          1 條回覆 最後回覆 回覆 引用 0
                          • T 離線
                            tak2hata
                            最後由 編輯

                            Hi, All.
                            I update this to v1.3e.
                            Thomas,Thank you very very much!
                            At last, I also understood.
                            I use your code "decimal_sep = 1.2.to_l.to_s.match(/\d(\D)\d/)[1]".
                            and model.options["UnitsOptions"]["LengthUnit"] >= 2 then unit is metric.
                            It not depend to Sketchup locale.

                            I think that this is perhaps no problem.
                            please reply when there is a problem.

                            Thanks


                            by TAK2HATA

                            1 條回覆 最後回覆 回覆 引用 0
                            • thomthomT 離線
                              thomthom
                              最後由 編輯

                              @tak2hata said:

                              I use your code "decimal_sep = 1.2.to_l.to_s.match(/\d(\D)\d/)[1]".
                              and model.options["UnitsOptions"]["LengthUnit"] >= 2 then unit is metric.
                              It not depend to Sketchup locale.

                              I think that this is perhaps no problem.
                              please reply when there is a problem.

                              I think that should work.

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

                              1 條回覆 最後回覆 回覆 引用 0
                              • thomthomT 離線
                                thomthom
                                最後由 編輯

                                Oh - you posted update already! I see. I'll try it out then.

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

                                1 條回覆 最後回覆 回覆 引用 0
                                • thomthomT 離線
                                  thomthom
                                  最後由 編輯

                                  😞 1.3e not working for me.

                                  Error: #<NoMethodError: undefined method[]' for nil:NilClass>
                                  C:/Program Files (x86)/Google/Google SketchUp 7/Plugins/fur_en.rb:734:in fur_dialog_ini' C:/Program Files (x86)/Google/Google SketchUp 7/Plugins/fur_en.rb:741:in fur_webdialog'
                                  C:/Program Files (x86)/Google/Google SketchUp 7/Plugins/fur_en.rb:1414
                                  C:/Program Files (x86)/Google/Google SketchUp 7/Plugins/fur_en.rb:1413:in call'

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

                                  1 條回覆 最後回覆 回覆 引用 0
                                  • TIGT 離線
                                    TIG Moderator
                                    最後由 編輯

                                    With 1.3e I get Error: #<TypeError: no implicit conversion to float from nil> C:/Program Files/Google/Google SketchUp 7/Plugins/fur_en.rb:1326:ininitialize'
                                    C:/Program Files/Google/Google SketchUp 7/Plugins/fur_en.rb:1326:in new' C:/Program Files/Google/Google SketchUp 7/Plugins/fur_en.rb:1326:in s_to_vec'
                                    C:/Program Files/Google/Google SketchUp 7/Plugins/fur_en.rb:713:in show_webdialog' C:/Program Files/Google/Google SketchUp 7/Plugins/fur_en.rb:658:in call'`
                                    with the 'web-dialog' accept button.
                                    You must be passing an empty argument to a defn ?

                                    TIG

                                    1 條回覆 最後回覆 回覆 引用 0
                                    • T 離線
                                      tak2hata
                                      最後由 編輯

                                      @thomthom said:

                                      😞 1.3e not working for me.

                                      Error: #<NoMethodError: undefined method[]' for nil:NilClass>
                                      C:/Program Files (x86)/Google/Google SketchUp 7/Plugins/fur_en.rb:734:in fur_dialog_ini' C:/Program Files (x86)/Google/Google SketchUp 7/Plugins/fur_en.rb:741:in fur_webdialog'
                                      C:/Program Files (x86)/Google/Google SketchUp 7/Plugins/fur_en.rb:1414
                                      C:/Program Files (x86)/Google/Google SketchUp 7/Plugins/fur_en.rb:1413:in call'

                                      I think this is LengthFormat or LengthPrecision problem.
                                      So I will change code..

                                      
                                      def fur_dialog_ini
                                      	unitoptions = Hash.new
                                      	Sketchup.active_model.options["UnitsOptions"].each{|key ,val| unitoptions[key] = val }
                                      	Sketchup.active_model.options["UnitsOptions"]["LengthFormat"] = 0 if unitoptions["LengthFormat"] != 0
                                      	Sketchup.active_model.options["UnitsOptions"]["LengthPrecision"] = 1 if unitoptions["LengthPrecision"] == 0
                                      	@fur_units_metric = false
                                      	lunit = unitoptions["LengthUnit"]
                                      	@fur_units_metric = true if lunit >= 2
                                      	lprec = Sketchup.active_model.options["UnitsOptions"]["LengthPrecision"]
                                      	@decimal_sep = 1.2.to_l.to_s.match(/\d(\D)\d/)[1]
                                      	@delim = ","
                                      	@delim = ";" if @decimal_sep == ','
                                      	unitoptions.each{|key ,val| Sketchup.active_model.options["UnitsOptions"][key] = val }
                                      end
                                      
                                      

                                      @tig said:

                                      With 1.3e I get Error: #<TypeError: no implicit conversion to float from nil> C:/Program Files/Google/Google SketchUp 7/Plugins/fur_en.rb:1326:ininitialize'
                                      C:/Program Files/Google/Google SketchUp 7/Plugins/fur_en.rb:1326:in new' C:/Program Files/Google/Google SketchUp 7/Plugins/fur_en.rb:1326:in s_to_vec'
                                      C:/Program Files/Google/Google SketchUp 7/Plugins/fur_en.rb:713:in show_webdialog' C:/Program Files/Google/Google SketchUp 7/Plugins/fur_en.rb:658:in call'`
                                      with the 'web-dialog' accept button.
                                      You must be passing an empty argument to a defn ?

                                      Sorry,I will change the code.


                                      by TAK2HATA

                                      1 條回覆 最後回覆 回覆 引用 0
                                      • thomthomT 離線
                                        thomthom
                                        最後由 編輯

                                        Why are you doing this?

                                        Sketchup.active_model.options["UnitsOptions"].each{|key ,val| unitoptions[key] = val } Sketchup.active_model.options["UnitsOptions"]["LengthFormat"] = 0 if unitoptions["LengthFormat"] != 0 Sketchup.active_model.options["UnitsOptions"]["LengthPrecision"] = 1 if unitoptions["LengthPrecision"] == 0

                                        You're changing the model settings.

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

                                        1 條回覆 最後回覆 回覆 引用 0
                                        • thomthomT 離線
                                          thomthom
                                          最後由 編輯

                                          This whole thing makes no sense...

                                          
                                              def fur_dialog_ini
                                                 unitoptions = Hash.new
                                                 Sketchup.active_model.options["UnitsOptions"].each{|key ,val| unitoptions[key] = val }
                                                 Sketchup.active_model.options["UnitsOptions"]["LengthFormat"] = 0 if unitoptions["LengthFormat"] != 0
                                                 Sketchup.active_model.options["UnitsOptions"]["LengthPrecision"] = 1 if unitoptions["LengthPrecision"] == 0
                                                 @fur_units_metric = false
                                                 lunit = unitoptions["LengthUnit"]
                                                 @fur_units_metric = true if lunit >= 2
                                                 lprec = Sketchup.active_model.options["UnitsOptions"]["LengthPrecision"]
                                                 @decimal_sep = 1.2.to_l.to_s.match(/\d(\D)\d/)[1]
                                                 @delim = ","
                                                 @delim = ";" if @decimal_sep == ','
                                                 unitoptions.each{|key ,val| Sketchup.active_model.options["UnitsOptions"][key] = val }
                                              end
                                          
                                          
                                          

                                          You create an hash to store model UnitOptions, then change them and then restore the original values...?

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

                                          1 條回覆 最後回覆 回覆 引用 0
                                          • thomthomT 離線
                                            thomthom
                                            最後由 編輯

                                            From what I could understand, that method could be condensed to:

                                                
                                                def fur_dialog_ini
                                                   units = Sketchup.active_model.options["UnitsOptions"]["LengthUnit"]
                                                   @fur_units_metric = (units >= 2) # true if units are 2 or greater
                                                   @decimal_sep = 1.2.to_l.to_s.match(/\d(\D)\d/)[1]
                                                   @delim = (@decimal_sep == ',') ? ";" ; ","
                                                end
                                            
                                            

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

                                            1 條回覆 最後回覆 回覆 引用 0
                                            • 1
                                            • 2
                                            • 18
                                            • 19
                                            • 20
                                            • 21
                                            • 22
                                            • 32
                                            • 33
                                            • 20 / 33
                                            • 第一個貼文
                                              最後的貼文
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement