Freelance UI Designer
Thank you so much for your time and help.
I have 450 takes. Every take activates only one layer (make editor and render visibility true) of the document. (Other layers are disabled by default)
I want to modify objects that belongs to that layer which is activated by a take.
After getting Layer, I need to get list of objects of that Layer by Python.
Simply I want to make:
after I activated a take I will execute a script. That script will make some modifications about objects and their materials. After that it will updates take overrides. To make those actions I need to find Active Take > Layer > Objects
how can I make this? could anyone help me about this please?
I need some information about:
thank you @Cairyn @m_adam
I realized that I have 5 different "change name" scripts for special needs. I need an interface that I can get some inputs from that and use it in a single script. For example suffix text, prefix text, and some checkboxes in a single panel.
how can I do that? As far as I learned there are some gui functions for only one input type like:
I need a panel that will contain different type of multiple inputs. Is it possible?
GetClone creates a take from a source take but its overrides are linked to source take. if I remove overrides from cloned take, original take's overrides also deleted. Is this a bug or GetClone produces a kind of instance object with linking to source object? How can I fix this? How can I break them from the source take?
# Script clones selected take to under Main Take
# AliasTrans did not work
#trans = c4d.AliasTrans()
#if trans is None or trans.Init(doc) is False:
# return False
takeData = doc.GetTakeData()
# Execute main()
@a_block I tried your suggestion and it is working.
First tag setting instance links. Tag priority: Generator and index: -1
Second tag is getting width value and sets cube position with it. priority: Generator index:0
I moved user data to null object instead of using it on python tag. (Some one have suggested this before for another issue but I don't understand why we should use user data on python tag instead of object)
By the way after @zipit reply I tried to research about priority but could not find them in 3d4 doc. if you know a good page I would want to know it.
thank you both again.
thank you for the suggestion. I really did not think that using 2 tags instead of one. This may be work and thank you so much for this I hope it works (probably will work I'm guessing)
thank you for your help. I tested it but in this case it can't get currently assigned linked object. Old shape assignment is staying after new shape assignment. if you have time you can see this by assigning different shape objects.
I have an null container with a python tag. Object structure as below:
problem is when I assign new value to loftShapeLink user data I can't get loft object's width value correctly. I have to trigger python tag again and that time it runs perfectly. As you can see in sample file, after new shape assignments instance object link value is correctly assigned but width value is not updated(I got previous value).
How can I get correct width value after first execution of the script? This is a problem because I can't use takes to render scenes. Because when marked takes render is started scripts run only 1 time for active take and shape positions are not correctly rendered.
Note: I have to use null containers for shapes just because axis points. I tried only shape objects as link objects but it is not effect the result.