Styles Class method Inquiry
-
In the ruby doc for the Styles Class (http://groups.google.com/group/SketchUp-Plugins-Dev/web/Ruby-Style.html), I did not see an erase method. Is one inherited?
Right now, the only way that I can see to delete a style using Ruby is to do the following:
- Create a temporary Scene for any style that you want to keep.
- Make sure that each of the temporary Scenes reference on of the styles that you are keeping.
- Purge Styles.
- Delete the temporary Scenes.
Am I missing something?
Thank you,
wehby -
a Sketchup::Style is_a? Sketchup::Entity, so I just tried:
m = Sketchup.active_model s = m.styles[0] m.entities.erase_entities sand crashed Sketchup.

Of coarse, there is
Sketchup.active_model.styles.purge_unused -
Jim,
This is interesting. Taking your example and testing it a little:model = Sketchup.active_model #returns something like; <Sketchup;;Model;0x5181b38> entities = model.active_entities #returns something like; <Sketchup;;Entities;0x5181a78> entities.count #returns; 1 entity0=entities[0] #returns something like; #<Sketchup;;ComponentInstance;0x5181700>The only entity in the model is the Bryce model. If I add several styles and retest entities.count, I still only get 1 entity. I think the parent of styles is model.
The downside of using purge_unused is that I first have to create scenes that use all of the styles that I don't want to purge, then delete the temporary scenes. But if that's the only way, then I guess I can deal with it.
Does my test look right?
-wehby
-
wehby, your test looks right. I based my post on the following test:
Sketchup.active_model.styles[0].is_a? Sketchup;;Entity trueI'm sure exactly what Sketchup.active_model.entities returns. For me, entities sometimes even contains weird things like Edgeuse objects and Loop objects - things that should never be in there.
So, don't confuse Entity with Drawingelement. Drawingelement's are things that create visible geometry - edges, faces, groups. Here's a diagram of some of the class hierarchy (from RLC on Google Groups


Sketchup is saying there is 1 entity, but maybe it really means 1 Drawingelement? I don't know.
-
Thanks for your help on this, Jim.
I'm working on a script that is sort of a combination of your Style Thumbnailer and my own Display Templates ruby scripts. Since my script involves loading styles into a SKP, I wanted to make sure that I provided a way of deleting the styles that I imported. That way I would not be bogging down the file with a bunch of junk. Looks like I will have to do it the hard way...
Thanks again.
-wehby
-
Sorry to be the bearer of further bad news, but we can't delete scenes. I've made that request (plus others), so we'll see what happens...
-
Well, it looks like I have to either just fix my Display Templates to work in SU6 and pretend Styles don't exist (as they didn't when I first wrote the script) or write a script that uses Styles and potential flood the user's SKP with styles.
Do you think there might be a work around by using send_action?
-wehby
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register LoginAdvertisement