UV Peeler - accessible?
-
Hi - I'm wondering if the UV Peeler is accessible via python. I see it listed in the SDK but I'm not familiar with how to use it.
Can it be used with SendModelingCommand or bodypaint.CallUVCommand?
The documentation references C4DAtom.SetParameter() but I've never used this.
Any info that can push me in the right direction is appreciated.
thanks,
.del -
hi,
The tool UV Peeler must have some edge selected that will be used as seems. In this thread, you will find some useful information how to do that.
To Apply the UV Peeler you have two options. One using the script log that will write for you almost all the code you need or using the function SendmodelingCommand.
There is no public symbol defined for this tool, you need to use the value itself.
import c4d from c4d import gui # using the script log only def MethodeOne(): def tool() -> c4d.plugins.BasePlugin: return c4d.plugins.FindPlugin(doc.GetAction(), c4d.PLUGINTYPE_TOOL) c4d.CallCommand(1031207) # UV Peeler uvPeeler = tool() uvPeeler[c4d.MDATA_UVPEELER_MIN_U] = 0.29 c4d.CallButton(uvPeeler, c4d.MDATA_UVPEELER_APPLY) def main(): # using the fuinction SendModelingCommand. # Parameter of the tool must be defined. settings = c4d.BaseContainer() settings[c4d.MDATA_UVPEELER_MIN_U] = 0.29 settings[c4d.MDATA_UVPEELER_MAX_U] = 1 settings[c4d.MDATA_UVPEELER_MIN_V] = 0 settings[c4d.MDATA_UVPEELER_MAX_V] = 1 settings[c4d.MDATA_UVPEELER_U_UNIFORMITY] = 1 settings[c4d.MDATA_UVPEELER_V_UNIFORMITY] = 0 # There is no symbol that define the UVPeeler tool id. Use the value instead. res = c4d.utils.SendModelingCommand(command=1031207, list=[op], bc=settings, doc=doc) c4d.EventAdd() # Execute main() if __name__=='__main__': main()Cheers,
Manuel -
HI -
Thanks for the response!
I'm going to go with the sendModelingCommand method. I never would have thought to put the CallCommand value in there.
This is really going to help me finish this script. I appreciate your help.
thank you,
.del -
Hi- How long do you keep functionality in the SDK for a tool that has been deprecated in the application?
I'm trying to get a feel for how long I have to make changes to my scripts that rely on calling the UV Peeler.
Thanks,
Del -
Well, there is no hard rule, but generally we are very conservative when it comes to Python API changes and removing features in general. The UV peeler made it through the 2026.3 UV overhaul and we also did hotfix a minor API issue with the old UV-system with 2026.3.1. But I cannot give you a hard guarantee "the uv peeler will still be 2030 around" because I do not know either.
Sometimes we have to remove features because it would be too much work carrying them on. But that is relatively rare, and I am currently not aware of any plans to deprecate the UV-Peeler or that 2026.3 changes broke it.
-
What I think you're saying is that I don't have to drop what I'm doing to fix my scripts before the team can move to 2026.3 but I probably ought to address it before 2027 to protect against things that are out of my control. Thanks for the response and info Ferdinand.
-
I don't know what your script does and if it needs fixing for 2026.3. What I said is that we usually put a lot of effort into keeping our ABIs and APIs stable, as exemplified with the 2026.3.1 hotfix where we fixed an issue with the UV tag interface that made it incompatible with old code.
2026.3 contained the UV manager overhaul as its main feature. We tried not to break any glass there but I cannot rule it out. when you find a regression in our APIs, you can also always report it. when the break was unintentional we usually provide a fix (in critical cases even a hotfix) or at least a workaround.
We also usually do not remove systems. For example, the old content system and its "Content Browser" is still in our APIs and Cinema, although it long has been replaced by the Asset Browser and API. Can I guarantee that the UVPeeler will not be removed soon? No, we sometimes have to remove things. But it is quite rare.