Get the Output File Name from Render Data



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 11/01/2011 at 05:58, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   12 
    Platform:   Windows  ;   Mac OSX  ; 
    Language(s) :       PYTHON  ;

    ---------
    Hi,

    Is it possible to get the full output file name (including padding and extension) from a scene's render data? Currently I use the following code to get the output file name, but it only gives me the file name's prefix:

    scene = documents.GetActiveDocument()
    renderData = scene.GetActiveRenderData().GetData()
    outputFilename = renderData.GetFilename( 5041 ) # file name ID in render settings

    Also, if multi-pass is enabled, is it possible to get the multi-pass output file name as well?

    Thanks!
     - Ryan



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 11/01/2011 at 22:39, xxxxxxxx wrote:

    i don't think it is possible.
    you need to concatenate the name yourself from the different parts (path, filename, framenumber, extension)



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 13/01/2011 at 06:12, xxxxxxxx wrote:

    I have the path and filename parts. I just can't figure out how to get the padding size (we can swap it out for the frame # ourselves), and the extension.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 13/01/2011 at 10:54, xxxxxxxx wrote:

    Since RenderData is basically a Container where you are able to extrude values by their ID...

    You will get the extension by interpreting RDATA_FORMAT (LONG); there are constants like FILTER_TIF, FILTER_TGA, FILTER_BMP, FILTER_JPG for this value that (mostly) make pretty obvious what value will generate which suffix. (Don't know whether the constants exist in Python... this is from C++)

    The padding is always 3 or 4 digits, depending on the name format. The ID under which the name format is stored is RDATA_NAMEFORMAT (LONG) with the following constants:
    RDATA_NAMEFORMAT_0 -> Name0000.TIF
    RDATA_NAMEFORMAT_1 -> Name0000
    RDATA_NAMEFORMAT_2 -> Name.0000
    RDATA_NAMEFORMAT_3 -> Name000.TIF
    RDATA_NAMEFORMAT_4 -> Name000
    RDATA_NAMEFORMAT_5 -> Name.000
    RDATA_NAMEFORMAT_6 -> Name.0000.TIF

    If Python doesn't have these constants, you can still look up the numeric values in the C++ API.


Log in to reply