• Login
sketchucation logo sketchucation
  • Login
ℹ️ GoFundMe | Our friend Gus Robatto needs some help in a challenging time Learn More

[Plugin] Material_Maintenance v2.2 - 2013-01-13

Scheduled Pinned Locked Moved Plugins
155 Posts 19 Posters 49.5k Views
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.
  • C Offline
    cmd
    last edited by 8 Dec 2012, 02:38

    @myhand said:

    Ok thanks, I will try this next but would still like to see where the current version goes wrong. Do you mind testing the attached and sending me all the output again please?

    Myhand,

    Here is the ruby console output on launch of your latest MM_debug ruby:

    tempPath = /var/folders/jt/x_n2z5n109n9v_qfj562bsc87bn_mb/T
    @tempDir = /var/folders/jt/x_n2z5n109n9v_qfj562bsc87bn_mb/T/material_maintenance
    /var/folders/jt/x_n2z5n109n9v_qfj562bsc87bn_mb/T/material_maintenance exists!!!
    String Time = 4.0e-06
    Total Entities = 0
    UI => null/jean blue_173796570.png?1

    Here is the output after Component option=checked + RE-LOAD Materials section

    String Time = 0.006283
    Total Entities = 485
    UI => null/jean blue_173786390.png?2

    Here is the output after a material from list is selected and List Components Containing Selected Materials is activated

    UI => Temp dir = null

    Screen Shot 2012-12-07 at 7.32.51 PM.png
    I hope this helps

    CMD

    • CMD
    1 Reply Last reply Reply Quote 0
    • M Offline
      Myhand
      last edited by 8 Dec 2012, 19:07

      @driven said:

      but which ever you choose add .show_modal as one off you mac conditionals...

      Are you sugesting I make the WebDialog modal? I have not set it as modal as I keep it open while working in the model. I flip between the model and the dialog often while cleaning up a model.

      http://www.keepingmyhandin.com/

      1 Reply Last reply Reply Quote 0
      • D Offline
        driven
        last edited by 8 Dec 2012, 19:18

        @myhand said:

        Are you sugesting I make the WebDialog modal?

        modal is different on a mac. lots of reference available via search 😉

        but you'll want a conditional for mac
        if mac dlg.show_modal else show end
        then it doesn't vanish on us...
        john

        learn from the mistakes of others, you may not live long enough to make them all yourself...

        1 Reply Last reply Reply Quote 0
        • M Offline
          Myhand
          last edited by 8 Dec 2012, 19:31

          @driven said:

          @myhand said:

          Are you sugesting I make the WebDialog modal?

          modal is different on a mac. lots of reference available via search 😉

          but you'll want a conditional for mac
          if mac dlg.show_modal else show end
          then it doesn't vanish on us...
          john

          OK thanks John. Will add it to the next bugfix release. Hopefully soon, if we can get the thumb problem sorted!

          http://www.keepingmyhandin.com/

          1 Reply Last reply Reply Quote 0
          • D Offline
            driven
            last edited by 8 Dec 2012, 19:40

            Clear | Hide
            008398 Trying to load the following thumbnail files;
            008398 null/$Irr Cache_147979500.png?2
            008399 null/$Light Sprite_147980200.png?2
            008400 null/¶CorrogateShiny¶_147979050.png?2
            008401 null/¶DarkGreen¶_147977630.png?2
            008402 null/¶DarkOrange¶_147977780.png?2
            008403 null/¶White¶_147979200.png?2
            008404 null/Material1_147979350.png?2
            008404 null/Material2_147978860.png?2
            008405 null/Material3_147978680.png?2
            008406 null/Material4_147978530.png?2
            008407 null/Material5_147978380.png?2
            008408 null/Textile_Wheat_147978230.png?2
            008408 null/Vegetation_Bark_Walnut_147977440.png?2
            008409 null/Wood_Cherry_147978080.png?2
            008409 null/Wood_Deck_147977930.png?2
            008453 qx.ui.basic.Image[889-0]; Image could not be loaded; null/Vegetation_Bark_Walnut_147977440.png?2
            008453 qx.ui.basic.Image[889-0]; Image could not be loaded; null/Vegetation_Bark_Walnut_147977440.png?2
            008453 qx.ui.basic.Image[1029-0]; Image could not be loaded; null/Vegetation_Bark_Walnut_147977440.png?2
            008453 qx.ui.basic.Image[1029-0]; Image could not be loaded; null/Vegetation_Bark_Walnut_147977440.png?2
            008453 qx.ui.basic.Image[899-0]; Image could not be loaded; null/Wood_Deck_147977930.png?2
            008453 qx.ui.basic.Image[899-0]; Image could not be loaded; null/Wood_Deck_147977930.png?2
            008454 qx.ui.basic.Image[1049-0]; Image could not be loaded; null/Wood_Deck_147977930.png?2
            008454 qx.ui.basic.Image[1049-0]; Image could not be loaded; null/Wood_Deck_147977930.png?2
            008454 qx.ui.basic.Image[909-0]; Image could not be loaded; null/$Irr Cache_147979500.png?2
            008454 qx.ui.basic.Image[909-0]; Image could not be loaded; null/$Irr Cache_147979500.png?2
            008454 qx.ui.basic.Image[919-0]; Image could not be loaded; null/$Light Sprite_147980200.png?2
            008454 qx.ui.basic.Image[919-0]; Image could not be loaded; null/$Light Sprite_147980200.png?2
            008455 qx.ui.basic.Image[929-0]; Image could not be loaded; null/¶CorrogateShiny¶_147979050.png?2
            008455 qx.ui.basic.Image[929-0]; Image could not be loaded; null/¶CorrogateShiny¶_147979050.png?2
            008455 qx.ui.basic.Image[939-0]; Image could not be loaded; null/¶DarkGreen¶_147977630.png?2
            008455 qx.ui.basic.Image[939-0]; Image could not be loaded; null/¶DarkGreen¶_147977630.png?2
            008455 qx.ui.basic.Image[949-0]; Image could not be loaded; null/¶DarkOrange¶_147977780.png?2
            008455 qx.ui.basic.Image[949-0]; Image could not be loaded; null/¶DarkOrange¶_147977780.png?2
            008455 qx.ui.basic.Image[959-0]; Image could not be loaded; null/¶White¶_147979200.png?2
            008455 qx.ui.basic.Image[959-0]; Image could not be loaded; null/¶White¶_147979200.png?2
            008455 qx.ui.basic.Image[969-0]; Image could not be loaded; null/Material1_147979350.png?2
            008455 qx.ui.basic.Image[969-0]; Image could not be loaded; null/Material1_147979350.png?2
            008455 qx.ui.basic.Image[979-0]; Image could not be loaded; null/Material2_147978860.png?2
            008455 qx.ui.basic.Image[979-0]; Image could not be loaded; null/Material2_147978860.png?2
            008455 qx.ui.basic.Image[989-0]; Image could not be loaded; null/Material3_147978680.png?2
            008455 qx.ui.basic.Image[989-0]; Image could not be loaded; null/Material3_147978680.png?2
            008455 qx.ui.basic.Image[999-0]; Image could not be loaded; null/Material4_147978530.png?2
            008455 qx.ui.basic.Image[999-0]; Image could not be loaded; null/Material4_147978530.png?2
            008455 qx.ui.basic.Image[1009-0]; Image could not be loaded; null/Material5_147978380.png?2
            008455 qx.ui.basic.Image[1009-0]; Image could not be loaded; null/Material5_147978380.png?2
            008456 qx.ui.basic.Image[1019-0]; Image could not be loaded; null/Textile_Wheat_147978230.png?2
            008456 qx.ui.basic.Image[1019-0]; Image could not be loaded; null/Textile_Wheat_147978230.png?2
            008456 qx.ui.basic.Image[1039-0]; Image could not be loaded; null/Wood_Cherry_147978080.png?2
            008456 qx.ui.basic.Image[1039-0]; Image could not be loaded; null/Wood_Cherry_147978080.png?2
            
            

            tempPath = /var/folders/rp/b9k42l5x7xngx_8tckgs0zdr0000gn/T @tempDir = /var/folders/rp/b9k42l5x7xngx_8tckgs0zdr0000gn/T/material_maintenance /var/folders/rp/b9k42l5x7xngx_8tckgs0zdr0000gn/T/material_maintenance exists!!! String Time = 6.0e-06 Total Entities = 0 String Time = 0.00061 Total Entities = 37

            learn from the mistakes of others, you may not live long enough to make them all yourself...

            1 Reply Last reply Reply Quote 0
            • D Offline
              driven
              last edited by 8 Dec 2012, 19:48

              this does show the image even with you odd ending...

              dlg2 = UI;;WebDialog.new("it works again2", true,"img", 250, 250, 400, 150, true);
              dlg2.set_html(%q(<img src="file;////private/var/folders/rp/b9k42l5x7xngx_8tckgs0zdr0000gn/T/material_maintenance/Vegetation_Bark_Walnut_147977440.png" alt="test image" title="my test2" >))
              dlg2.show_modal
              

              learn from the mistakes of others, you may not live long enough to make them all yourself...

              1 Reply Last reply Reply Quote 0
              • M Offline
                Myhand
                last edited by 8 Dec 2012, 20:24

                @driven said:

                this does show the image even with you odd ending...

                dlg2 = UI;;WebDialog.new("it works again2", true,"img", 250, 250, 400, 150, true);
                > dlg2.set_html(%q(<img src="file;////private/var/folders/rp/b9k42l5x7xngx_8tckgs0zdr0000gn/T/material_maintenance/Vegetation_Bark_Walnut_147977440.png" alt="test image" title="my test2" >))
                > dlg2.show_modal
                

                yea I am pretty sure it is not the encoding, though I will fix that once we have the path sorted. Basically the temp path is not passed to JS. This path is passed as part of the startup sequence, which does not appear to run.

                http://www.keepingmyhandin.com/

                1 Reply Last reply Reply Quote 0
                • M Offline
                  Myhand
                  last edited by 8 Dec 2012, 22:39

                  @driven said:

                  tempPath = /var/folders/rp/b9k42l5x7xngx_8tckgs0zdr0000gn/T @tempDir = /var/folders/rp/b9k42l5x7xngx_8tckgs0zdr0000gn/T/material_maintenance /var/folders/rp/b9k42l5x7xngx_8tckgs0zdr0000gn/T/material_maintenance exists!!! Total Entities = 0

                  Somehow the getSystemParameters method does not make it to Ruby... I have sent you a PM with another version to test if you don't mind. Probably better to take the debuging off-thread.

                  http://www.keepingmyhandin.com/

                  1 Reply Last reply Reply Quote 0
                  • D Offline
                    driven
                    last edited by 8 Dec 2012, 22:45

                    might be a good idea to remove the spare rb files, I'll delete some posts as well, john

                    learn from the mistakes of others, you may not live long enough to make them all yourself...

                    1 Reply Last reply Reply Quote 0
                    • M Offline
                      Myhand
                      last edited by 8 Dec 2012, 23:34

                      @cmd said:

                      tempPath = /var/folders/jt/x_n2z5n109n9v_qfj562bsc87bn_mb/T
                      @tempDir = /var/folders/jt/x_n2z5n109n9v_qfj562bsc87bn_mb/T/material_maintenance
                      /var/folders/jt/x_n2z5n109n9v_qfj562bsc87bn_mb/T/material_maintenance exists!!!
                      String Time = 4.0e-06
                      Total Entities = 0
                      UI => null/jean blue_173796570.png?1

                      Here is the output after a material from list is selected and List Components Containing CMD

                      I was expecting more trace statements so I have a hunch that this might have to do with my lazy loading the tempdir. This means that I have a situation where I am calling from JS to Ruby, to JS, back to Ruby and then back into JS all in one call. This works in Windows, but there might be a threading/race condition issue on the MAC.

                      I have now re-written this part of the code and also enabled tracing directly in the JavaScript side.

                      Can you please test again and send me the output (it might even just work now).

                      This time though you need to do an extra step to capture the trace in the WebDialog. Once the dialog is open and has focus, press the F7 key, this will bring up a console window which will contain client side trace. See screenshot.

                      Please send me both the JS and Ruby console output.


                      ScreenShot.jpg

                      http://www.keepingmyhandin.com/

                      1 Reply Last reply Reply Quote 0
                      • T Offline
                        TIG Moderator
                        last edited by 9 Dec 2012, 10:42

                        You are using .set_html()
                        This is known to be broken on recent MAC versions [Safari]...
                        http://sketchucation.com/forums/viewtopic.php?f=180&t=49338&p=443684#p443684
                        So it's time to recode that part so it becomes MAC friendly...

                        TIG

                        1 Reply Last reply Reply Quote 0
                        • D Offline
                          driven
                          last edited by 9 Dec 2012, 13:18

                          @tig said:

                          You are using .set_html()
                          This is known to be broken on recent MAC versions [Safari]...
                          ...

                          @Tig,
                          I'm the one using .set_html on my mac, to test his image paths, because it does work on recent MAC versions, btw... Safari is only an indicator of 'next' the 'WebKit' version to be used by WebDialogs, it's always different and a step ahead.
                          I can only find one release of 'WebKit' where .set_html() fails, a 'WebKit' version sniffer would be more appropriate for a single release.
                          john

                          learn from the mistakes of others, you may not live long enough to make them all yourself...

                          1 Reply Last reply Reply Quote 0
                          • M Offline
                            Myhand
                            last edited by 9 Dec 2012, 13:49

                            @tig said:

                            You are using .set_html()
                            This is known to be broken on recent MAC versions [Safari]...
                            http://sketchucation.com/forums/viewtopic.php?f=180&t=49338&p=443684#p443684
                            So it's time to recode that part so it becomes MAC friendly...

                            Thanks TIG, I use my_dialog.set_file(html_path) in the plugin.

                            Do you mind waving your magic moderator wand and deleting the "to remove" posts above? 😄

                            http://www.keepingmyhandin.com/

                            1 Reply Last reply Reply Quote 0
                            • T Offline
                              TIG Moderator
                              last edited by 9 Dec 2012, 14:19

                              Gone!

                              TIG

                              1 Reply Last reply Reply Quote 0
                              • M Offline
                                Myhand
                                last edited by 11 Dec 2012, 23:05

                                @tig said:

                                Gone!

                                Thanks TIG! 👍

                                I will release an update soon. Mainly fixing the outstanding bugs on the MAC.

                                A special thanks to @driven and @cmd for helping me debug this remotely! 👍 👍

                                I have learned the following about Sketchup WebDialog on a MAC:

                                • Calls from JS to Ruby, i.e. window.location.href = "skp:xxx" are not synchronous on the MAC, nor are they buffered. In short this means that you can loose calls if they are made in quick succession. I had to create a JS side call stack/event pump

                                • you need to pre-pend the file protocol "file:///" to the start of file paths for them to load on the MAC

                                http://www.keepingmyhandin.com/

                                1 Reply Last reply Reply Quote 0
                                • T Offline
                                  thomthom
                                  last edited by 11 Dec 2012, 23:17

                                  @myhand said:

                                  • Calls from JS to Ruby, i.e. window.location.href = "skp:xxx" are not synchronous on the MAC, nor are they buffered. In short this means that you can loose calls if they are made in quick succession. I had to create a JS side call stack/event pump

                                  http://sketchucation.com/forums/viewtopic.php?f=180&t=23445

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

                                  1 Reply Last reply Reply Quote 0
                                  • M Offline
                                    Myhand
                                    last edited by 11 Dec 2012, 23:48

                                    @thomthom said:

                                    http://sketchucation.com/forums/viewtopic.php?f=180&t=23445

                                    Ahaa, the lost manual indeed! 👍

                                    http://www.keepingmyhandin.com/

                                    1 Reply Last reply Reply Quote 0
                                    • Bob JamesB Offline
                                      Bob James
                                      last edited by 12 Dec 2012, 01:27

                                      I have three plugins that claim to change materials:

                                      1. Global Material Change
                                      2. Repaint
                                      3. Material Maintenance.

                                      Last night I thought I'd give all of them a try to see which is best.
                                      I had a transparent material and wanted to change it to a chain-link fence material.

                                      Global Material Change did nothing.
                                      Material Maintenance did nothing.
                                      Repaint fixed it as requested.

                                      I was really disappointed that Material Maintenance did not work. 😞

                                      i7-4930K 3.4Ghz, 2x GTX780 6GB, 32GB DDR3-1600 ECC, OCZ Vertex 4 500GB, WD Black 3TB, 32TB NAS, 4x 27" Monitors, SpaceMouse Pro, X-keys XK-60

                                      1 Reply Last reply Reply Quote 0
                                      • T Offline
                                        thomthom
                                        last edited by 12 Dec 2012, 09:43

                                        Got a sample model?

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

                                        1 Reply Last reply Reply Quote 0
                                        • M Offline
                                          Myhand
                                          last edited by 12 Dec 2012, 11:08

                                          This could be due to the object_id bug for large models where the id's can get garbage collected. I have fixed this already and will release shortly, but a sample model would be useful or at least some info on where the material was applied to, what settings you used etc.

                                          http://www.keepingmyhandin.com/

                                          1 Reply Last reply Reply Quote 0
                                          • 1
                                          • 2
                                          • 3
                                          • 4
                                          • 5
                                          • 6
                                          • 7
                                          • 8
                                          • 7 / 8
                                          7 / 8
                                          • First post
                                            123/155
                                            Last post
                                          Buy SketchPlus
                                          Buy SUbD
                                          Buy WrapR
                                          Buy eBook
                                          Buy Modelur
                                          Buy Vertex Tools
                                          Buy SketchCuisine
                                          Buy FormFonts

                                          Advertisement