@thomthom said:
Nice.
Can you also update the title of this thread?
Thanks for the reminder All updated now.
@thomthom said:
Nice.
Can you also update the title of this thread?
Thanks for the reminder All updated now.
I have just released Version 2.2.0 of the plugin. It contains bug fixes for all known outstanding issues. I recommend that you upgrade as it contains a fix for the the key bug which can cause replacements to fail silently on larger models.
You can download it from the usual place.
https://sites.google.com/a/keepingmyhandin.com/blogsite/Downhome/Sketchup/material_maintenance_2
@cadmenow said:
Thank you for such a plug in. I notice that in the download page, there is still v1.0 icon with hyperlink, when you click it, it opens a blank error page...
Anyway, I succeed to download by clicking little arrow but I just want you know about that v1.0 issue,
Thanks again!
Very glad you find it useful
The v1.0 is a "feature" of file attachment widget I use to upload the files. It specifies the version of the file, not the the application. As I only uploaded the .rbz file once file versuon is v1.0. As you say you have to click the little arrow to download the file.
Unfortunately I cannot switch it off.
Did the plugin work for you?
@bob james said:
All of the fence originally had a transparent material. I changed them all to the chain-link fence material. I just used the default selections.
Did you select the "Front Faces" and "Back Faces" check boxes at the bottom of the screen under "Apply to"? None of these are selected by default.
For those that are interested here is a link to my call buffer implementation to get past the call synchronisation problem on a MAC.
Works pretty well and fixes the last bug I had on the MAC. I will now tidy up and release the new version tomorrow.
Hi Bob, I have just done the same test with the current release version. 2.1.1 and it also worked. It would also help if you can send a screen shot so I can see which settings you used.
@bob james said:
This is the file I used
Thanks Bob. Which material did you try and replace and with what? Which options did you select "Apply to" section? I just replaced metal128 with beige on Front faces, Back Faces and Edges, and that worked fine on the latest bug fix version.
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.
@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
@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?
@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?1Here 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.
@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.
@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.
@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!
@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.
@driven said:
my personal favourite [from SU's WebTextures]
# PC Load paths will have a ':' after the drive letter. @is_mac = ($LOAD_PATH[0][1..1] != ":")
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?
@archtrot said:
Great plugin...I've needed something like this for a long time.
The labels on the UI are getting reduced, regardless of window size.
See attached image. Any idea why this is?
I'm SU8 on Windows 7.
I tried to reproduce this on one of my Windows 7 machines but the labels look fine. Which version of IE are you on?
Has anyone else seen this problem?
@driven said:
@myhand said:
Hi John, I suspect you have installed an older version.
I used the SU installer to overwrite the old, but probably hit 'don't trust' in the setup dialog....
fresh instal
String Time = 6.0e-06 Total Entities = 0 null/Material2_150652410.png?1 String Time = 0.012297 Total Entities = 1063 null/Material2_150652410.png?2 String Time = 0.00685
Very interesting. I will add some more trace tonight. All the way through the call stack this time.
@driven said:
@myhand said:
I can help debug the images if you stop the width of you generated content autoresizing. or just PM instructions of where it's set so I can get a hook in for Web Inspector to check the paths.
I use a JS library called qooxdoo. So I cannot just change the HTML as all the html is generated and the "container" locks it down. So I need to figure out how do it through library. I tried a few minutes to manipulate the HTML directly which did not work. Will take another look tonight.
@driven said:
@myhand said:
BTW: I and Sketchup use
./tmp/*
for temp file on mac, it's so simple....
john
Is there a reliable way to determine OS in Ruby then I can change temp directory to the above when run on a MAC?
@driven said:
broken again
value = 0.0 !!!=> fromUIHandler: parameter string = 73-0__vzrefreshMaterialstruefalsefalse Error: #<NoMethodError: private method
puts' called for "73-0":String>`john
Hi John, I suspect you have installed an older version. I have just rechecked the Material_Maintenance_thumbnail_dbg_01.rbz file (you can unzip it) and the above two puts have been commented out. You can check by looking at lines 106 and 111 in the Material_Maintenance/Material_Maintenance.rb file within the .rbz archive.