Layer Material
-
Is there any way of retrieving the Layer material if rendering_options['DisplayColorByLayer'] has been set?
I can't find anything..
Adam
-
I've not found any. Which is really annoying.
Layer
andMaterial
classes lack of methods, for renaming, deleting and getting layer material is very frustration. Been moaning to Google about this. -
OK thanks. So I'm not going mad!
Adam
-
Just a little update.
I've written an extension to extract the Layer material by adding an extra method to class Layer. Works great.
The interesting thing is that the Layer Materials all have names too (starting with "Layer_") but they're invisible to the Ruby material list so I can't return a reference to the Ruby material. I have to return the color and/or texture.
When I get a mo, I'll package it up and post it.
Adam
-
@adamb said:
When I get a mo, I'll package it up and post it.
Excellent!
But I'm very curious to where to got the info from. the SDK?
But how would different plugins wanting to implement this handle this? multiple plugins extending the layer class?
-
@thomthom said:
But how would different plugins wanting to implement this handle this? multiple plugins extending the layer class?
So I'm simply going to conditionally add some methods if they're not already there. Because I can't return the material in any useful way, I'll collapse the method calling sequence into 1 name. So:
Sketchup.active_model.active_layer.material_color
Sketchup.active_model.active_layer.material_texture
Adam
-
My
layer-color=.rb
used a convoluted work around to import a dxf with a new layer of the same name etc colored as required and the old layer deleted. It only copes with color NOT material.
You could work this in reverse - export a dxf of a series of faces, each on a layer; then parse the dxf to find each layer and it's color - using a lookup-table you can at least then convert the colors to RGB values - you won't easily get any textures or the material's alpha though ???
It shouldn't be that difficult to simply have a methodlayer.material
orlayer.material="red"
!!! -
And what does the methods return? array of colour values? and for the texture?
And is there a way to set the material? -
If thats what Sir wants.
-
neat'o!
Can I have fries with that?So, is the voodoo you're using also able to rename materials? (instead of the current workaround of recreating the material with a new one with the new name and replace the material property for all entities in the model?)
-
What became of this great idea ???
-
@tig said:
What became of this great idea ???
Dittos!
Never saw this 3 year old thread.
Spent a while yesterday posting a request for this in the API Wishlist forum.
Did I cover everything? Any feature I left out?
http://forums.sketchucation.com/viewtopic.php?f=180&t=13666&p=253272 -
bump ?
-
Had another look at this, this morning.
There doesn't seem to be any way of setting the Layer properties, the COM API just doesn't offer that functionality.
Adam
-
But one can get?
The COM API - is it the SkpReader in the SDK?
-
re-bump
-
So Adam never published this ?
So sad -
I'm sitting in Provence and it is pissing down! So I pulled the code from the UK and it looks fine (don't even have to build for PowerPC anymore!) - I'll package it up for Mac and Windows next week.
Adam
-
-
@adamb said:
I'm sitting in Provence and it is pissing down! So I pulled the code from the UK and it looks fine (don't even have to build for PowerPC anymore!) - I'll package it up for Mac and Windows next week.
Advertisement