[Plugin] Random Painter (Updated March 9th, 09)
-
OK Edson, I put another version of random painter up. It is non-reliant on wxsu. Its a bit slower to use, but I suppose if the other didn't work at all, then this is quite an upgrade
Chris
-
surely. thanks a lot. you have become quite an asset to this forum.
is this "new" version up on the first post? why do you not keep both versions up? not all people use windowizer4; perhaps some would prefer the version that relies on wxSU.
-
They are both up there - the latest version that supports wxsu and the stripped down version that does not. I think at some point I had added some features to pre-wxsu version that have been lost. So if there is something you remember it doing that it no longer does, let me know. All in all though, its still very functional. Thanks for the complements Edson, I'll let you take me out to a churrascaria if I ever make it down to Porto Alegre
Chris
-
Cool plugin.
However, I think wxSU isn't really ready for primetime. Specifically, it doesn't manage Ruby threads correctly wrt SketchUp.
If you have a look at lib/App.rb there are some moderately scary comments. It seems to assume its the only plugin running - I think this is why it causes so many problems.
Adam
-
Adam, does having it installed for my plugin mean that it is possibly going to mess up other plugins?
-
Yes, I believe it does. I've spent weeks trying to track some crash bugs for LightUp users that appear to be directly related to having wxSU loaded.
The most simple case I found was having wxSU installed and typing "sleep 10" at the console for a crash with some plugins that use it.
Today I've been talking on email with Peter (author of wxSU) and he's on the case - so lets hope it can be fixed asap.
Adam
-
Hi everyone,
First of all, thanks to Adam for bringing me into the discussion. I had no idea anyone was using wxSU with their plugins yet! I'm sorry it's been the source of some nasty crashes.
I've been studying the wxSU conflicts with other plugins and have come to some conclusions:
-
At least one configuration with guaranteed crashing is: Random Painter + PlayUp + Windowizer 4 ...with the final trigger being the menu command Plugins/Windowizer4
-
Part of the problem appears to be that Random Painter and PlayUp are both running their own separate sessions of wxSU, which is dangerous.
-
The other part of the problem is that wxSU's threading scheme has instabilities on its own.
I'm pretty sure I can fix #1 and #2 by adding some code to ensure that only one session of wxSU is running at a time. That should solve most of the crashes described in this topic.
I'm not sure I can fix #3 without help. With only one session of wxSU running, you can type "sleep 10" at the console without any crash. BUT, the unique threading scheme actually gives you back control before the sleep is done. If you now type "sleep 10" again, you get a crash. In reality, will two plugins be asking to sleep at the exact same time? Probably not. It would be nice to figure out but I don't think it's necessarily a showstopper for wxSU in the meantime.
A couple questions for the forum:
Are there other configurations (besides #1) that will cause a crash with wxSU?
Is anyone aware of any other plugins that are using wxSU?
Thanks,
P -
-
HI Peter, great work on WxSU. I'm afraid most of this discussion might be over my head. I only barely was able to implement WxSU, and I'm not sure that I did it correctly.
Is there a better way to implement so that it won't cause a crash? or is that something you need to do on the development end? I can post my code in this thread if that will help.
Chris
EDIT: I am unaware of other plugins that use WxSU at this point.
-
Hi Chris,
There's nothing you can do in your code to prevent the crash. It's really my fault for not blocking multiple sessions of wxSU. I'll make the change and try to put out a new release of wxSU over the weekend.
The only change I would make to your code is to replace:
require "wxSU.rb"
with
require "wxSU/lib/Startup"
Hey, thanks for being an early adopter!
P
-
A new version (v0.3.0) of wxSU is now posted on the project website.
http://sourceforge.net/project/showfiles.php?group_id=240585&package_id=292646Multiple instances of wxSU are now blocked which should eliminate the conflict that I've seen between Random Painter, wxSU, Windowizer 4, and other plugins. However, the conflicts won't go away until each plugin that uses wxSU upgrades to 0.3.0. In particular, the PlayUp plugin needs to be upgraded.
The new version also updates to wxRuby 2.0 which is more stable and has some new features.
If anyone finds problems or conflicts that I haven't mentioned, please email me.
Thanks,
P -
Thanks for the update Peter! I don't have time to update this right now, but perhaps in a week or two I'll get it all updated and working with the new version (though I'm not sure I really need to change very much, it should just be a matter of the users upgrading their version of WxSU they have installed).
Chris
-
mmmm cant get it to work on my mac os x 10.5.6.
first installed the wxSU ppc (that didnt work ofcourse) than tried the platform independent. but got this error see attachment... pretty weird for a macthe next image was the error i got from the mac ppc version
-
Well, I guess "platform independent" was kind of a mislabeling on my part... It would be more accurately described as a "source-code only package for Windows"; no installer. And thus the wacky error message. Sorry about that.
The Mac installer should have worked for you. It's supposed to be a PPC/x86 universal install. Are you using SU 6 or SU 7? It tries to install in the SU 7 directories, which could be the problem if you only have SU 6. Email me and I'll help you debug it. Sounds like there is at least one or two things for me to fix here.
Thanks,
P -
Oops, just noticed you list SU 6-7 in your profile. If wxSU did install successfully under SU 7, you should be able to just copy it over to your SU 6 directory. If that's not the problem, let me know.
-
nice ruby. good video too, I didn't realise you could combine textures in SU
-
-
Hi Chris why don't make that inside your plug?
clselection.each{|e|### if e.class==Sketchup;;Face matx=mats[rand(mats.length)] e.material=matx e.back_material=matx if paint_back==1 elsif e.class==Sketchup;;Group or e.class==Sketchup;;ComponentInstance ######### matx=mats[rand(mats.length)] e.material=matx end ########################################################## }###
(it's not from me of course , it's from TiG
-
@unknownuser said:
Mine just randomly paints the faces. Both have their uses.
Ok I understand you pick facets in any order!
It's a pityAbout colors
The must will be to use a pallet who yet exist so no need to pick on a wheel color or enter numbers!
like this for examplethen I copy past in one move I have that
#334433 #3366aa #6699aa #aabbbb #778877
or that with any difficulties in any Notepad or other
#334433
#3366aa
#6699aa
#aabbbb
#778877
So If you have a board to put that inside that will be perfect!If I can enter a simple list of color by copy past it be perfect!
-
Another one
CoBrA style -
Chris, thanks for the cool plugin!
Little feature request: would it be possible to make it paint groups and components as well?
(not inside them, just the component instance itself...)At this moment, that would save my life (damn deadlines)..!
Advertisement