( Thanks to all the good people who kindly answer questions to a green hand like me in recent days ,i have certainly made a huge pregress due to you zealous guys in such a super forum)
Well,i meet the problem to assign a material to another object in my project,i reviewed history post but not so solvable,let me take an easy example of A material and B cube,how to assign A to B?
Below is example pic
A = c4d.BaseObject(c4d.Ocube)
#lost on how to make assignment
Hi Ilad, thanks for reaching out us.
With regard to your request, I warmly recommend to have a look at Materials and Shaders Overview where the basic of Cinema 4D materials and shading handling are discussed. Consider that even if the documentation refers to C++ the described concepts can be applied to Python as well.
Briefly the solution to your request is:
# get first object
cubeA = doc.GetActiveObject()
if cubeA is None:
# get second object
cubeB = op.GetNext()
if cubeB is None:
cubeB = op.GetPred()
#get first material
matA = doc.GetActiveMaterial()
if matA is None:
# get second material
matB = matA.GetNext()
if matB is None:
matB = matA.GetPred()
# create the texture tags for A and B
ttagA = c4d.TextureTag()
ttagB = c4d.TextureTag()
# assign the swapped materials to the texture tags
# insert the tags to the corresponding objects
# queue an event
Last but not least, it's recommended for future threads to use the appropriate category and mark it as "Ask as a question" upon creation.
@r_gigante Thanks!Greate help for me! I got it!