Thank you for the answer @ferdinand . Sorry for the decay of the follow up posts, im used to posting all attempted solutions, so that future readers have a guide.
We solved the problem by converting in a seperate Plugin call and it seems the legacy code im working on, "accidentally" reduced the context switch stale objects, by regularly re-storing the document refrence from a old reference kept in main. Your answers have been very useful and highlight important concepts developers should be well aware off. Thanks gain.
i think i have a problem with the floating license model.
In particular it seems that in this license state machine, there is no state dedicated to what happens to licenses, when programs execution aborts suddenly or connection is lost. Is there a collection mode, were i can start releasing licenses from a pool that are currently not in use? Or a time-out were a license returns to pool after n minutes?
I had to release licenses from defunct instances manually which sort of defeats the whole purpose of automation & scripting.
Is there a way to have a "always on" program on the running maschine, to auto-release the license, should it loose connection or time out?
Im sorry, i can not send you the customer files. As soon as the team has any time, we will reproduce the test case in a seperate 3d file and send it with the code-sample.
@ferdinand Thanks for your reply Ferdinand.
One converted out example looks like this, having no resemblance to the original object which was a cable in a spiral. Some other examples exist, were the spiral is sqashed into a eardrum like shape.
It seems the spiral modifier data structure (which should be a sinus applied over a 3dimensional circle ) is squashed into a 2dimensional concept. You can even see a second sinus multiplied in at the end.
I shall try to use the Modelcommand recommend by you. Sorry for the slow replying.
The object will be converted, but will be turned into a sinusoid polygon editable.
MAKE_EDITABLE = 12236
I exported the scene pre and post operation and it is actually this command producing the result.
The sweep Object is a pretty standard cable with diameter and a spline to trace.
Thx to all of you for reading and helping. Pretty great comunity.
Eh, this was the first approach i tried, it will map the decoded utf-8 to Windows codepage 1252. (Sorry about the wrong one in the code above). I tried to change the system setting to utf8 but it would not accpet that. Thanks for your help, Maxime
Not certain it solves your problem but in this post somebody changed the preview picture in python.
Thanks for explaining Manual
Hi, i encountered a problem using paths containining Umlauts in my code. Im trying to rename Customer Texture files which have Umlauts in there names.
I traverse the folder, glue the filenames together which does not produce any error.
originalFilePathAsciiiUTF8Mix = os.path.join(srcFolder, 'tex', originalFileName)
However when i try to use the concated path, with file.open or shutil.copy2 the path is not found and the displayed path in the error message seems to be a strange mixture of properly escaped ascii symbols and not escaped UTF8 elements.
I printed out the path as hexValues and the values look like a classic ascii (no codepage) string (not clear on what codepage) and raw UTF8 Values in the middle.
originalFilePathAsciiLatin1 -> |C=43|:=3a|\=5c|T=54|e=65|s=73|t=74|\=5c|I=49|n=6e|p=70|u=75|t=74|\=5c|4=34|3=33|4=34|6=36|9=39|\=5c|4=34|3=33|4=34|6=36|9=39|\=5c|t=74|e=65|x=78|\=5c|k=6b|i=69|e=65|f=66|e=65|r=72|_=5f|g=67|e=65|f=66|l=6c|=c3|=a4|m=6d|m=6d|t=74|_=5f|1=31|.=2e|j=6a|p=70|e=65|g=67
So ive read into encodings and utf8 in Python 2.7 and boy, what a rabbit hole.
My question is, how can i convert this "hybrid" into a valid utf8 representation and finally into a path that the services used by shutil and os.copy can handle.
originalFilePath = originalFilePathAsciiiUTF8Mix.decode('utf-8').encode('cp1250')
Hi, i encounter a bug with Cinema4D. The problem is that the bug is not deterministic. Converting this file worked before and now errors out. _BugReport.txt
I looked into the bug report and noticed i filed a similar bug to corona.
They recommended i delete the leftover shaders or materials. So is this a running out of memory bug?
My code depends on another Plugin to be completely loaded before it can be executed. How do ich check this in Code?
I once got advice from @ferdinand to wait for All-Plugins-Start:
"..I assume it is a plugin tied into PluginStart()? Be aware that depending on the plugin message, Cinema 4D might not yet have booted fully, you should not rely on the active document and similar things before C4DPL_STARTACTIVITY has been emitted. The earlier you are in the boot process, the less libraries and systems will work.."
But i logged those out and it always seemed to be called before the commandline arguments are processed. If this is recieved what guarantees do i have on the other plugin black boxes?
That all have completed loading? Including gui-components? Is there another way to check if any plugin python is busy in the background?