Using C4D Constants in Python



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

    On 09/09/2010 at 11:11, xxxxxxxx wrote:

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

    ---------
    Hi all,

    I can't seem to figure out how to use c4d constants in my python code. For example, I want to use the the c4d.documents.SaveDocument function. It has these saveflags:

    SAVEFLAG_SHOWERROR
    _SAVEFLAG_SAVEAS
    _ SAVEFLAG_DONTADDTORECENTLIST
    SAVEFLAG_AUTOSAVE

    _<_dt id="c4d.s.save"_>_I've tried using c4d.SAVEFLAG_SHOWERROR and c4d.documents.SAVEFLAG_SHOWERROR, but those don't work. I can lookup the number that represents these flags in coffeesymbols.h, but obviously I would prefer to use the constant's name instead. :)
    I couldn't find any info about this in the python documentation I downloaded from the plugin cafe site, so any help would be appreciated.

    Cheers,
    - Ryan



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

    On 09/09/2010 at 11:26, xxxxxxxx wrote:

    Hi Ryan,

    it seems the old constants for SaveDocument are still in the documentation.
    Here are the correct constants:

    SAVEDOCUMENTFLAGS_0
    SAVEDOCUMENTFLAGS_DIALOGSALLOWED
    SAVEDOCUMENTFLAGS_SAVEAS
    SAVEDOCUMENTFLAGS_DONTADDTORECENTLIST
    SAVEDOCUMENTFLAGS_AUTOSAVE
    SAVEDOCUMENTFLAGS_SAVECACHES
    SAVEDOCUMENTFLAGS_EXPORTDIALOG
    

    An update of the documentation will be available soon.

    Cheers, Sebastian



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

    On 09/09/2010 at 11:37, xxxxxxxx wrote:

    Thanks for the info! There are a couple others I need at the moment if possible.
     - The SaveDocument function also takes a format flag, and I want to pass FORMAT_C4DEXPORT.
     - The GeDialog.GroupBorder function takes a borderstyle flag, and I want to pass BORDER_THIN_IN.

    I think that's all I need for now.

    Thanks!
     - Ryan



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

    On 09/09/2010 at 11:44, xxxxxxxx wrote:

    All constants in Python of R12 are defined in the main module. Also the GroupBorder and SaveDocument constants.

    Cheers, Sebastian



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

    On 09/09/2010 at 12:11, xxxxxxxx wrote:

    Ah, cool. Sorry about that, I thought those might have had new names as well.

    Cheers,
    - Ryan



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

    On 09/09/2010 at 12:46, xxxxxxxx wrote:

    One more question related to the c4d.documents.SaveDocument function. I noticed that if I pass the active document as a parameter, it saves it just fine, but this isn't reflected in the C4D UI. It appears that I've just saved a copy of the active document, as opposed to saving the actual active document. I hope that made sense. :)

    When I used COFFEE in the past, I used the active document's Save function, which accepted a file name, and this seemed to work fine. However, the python docs don't show a similar Save function for the BaseDocument class, which is why I originally used the c4d.documents.SaveDocument function.

    So I guess I have 2 questions:

    1. Is there a Save function for the BaseDocument class that isn't documented?
    2. If not, is there a way to save the actual active document, as opposed to just saving a copy of it?

    Thanks!
     - Ryan



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

    On 09/09/2010 at 14:11, xxxxxxxx wrote:

    There is no un-documentated save function. You can simulate the Save-Process by calling CallCommand(saveid), does this help?



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

    On 10/09/2010 at 06:47, xxxxxxxx wrote:

    That works great! Thanks again for your help.


Log in to reply