Navigation

    • Register
    • Login
        No matches found
    • Search
    1. Home
    2. clayton_krause
    C

    clayton_krause

    @clayton_krause

    0
    Reputation
    13
    Posts
    17
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online

    • Profile
    • More
      • Following
      • Followers
      • Topics
      • Posts
      • Best
      • Groups
    clayton_krause Follow

    Best posts made by clayton_krause

    This user hasn't posted anything yet.

    Latest posts made by clayton_krause

    Metadata Supported for FBX Imports?

    Does Cinema4D really not support importing meta-data from an FBX import? I have a hard time believing this type of basic data I/O isn't supported in c4d...

    Attached is an FBX with meta-data key/value pair of "foo" : "bar". Metadata comes in fine importing with Houdini, Maya, Blender, but I can't seem to get the metadata into C4D.. Thank you for any confirmations here!

    EDIT: Can't upload an FBX file apparently. Concept is pretty straight forward though. Metadata support with FBX import.

    posted in General Talk •
    RE: Connect to asset database without Cinema4d?

    Thank you for the reply. Good information.

    posted in General Talk •
    Connect to asset database without Cinema4d?

    What underlining technology is used in the asset database browser in Cinema4D? Is the asset database using some common backend (MongoDB / SQL / SQLite) or is it all custom developed for Cinema?

    I'm concerned about leveraging Cinema4D Asset Database in a team operation to store important elements of our 3D Operation, if under the hood, the database has been custom rolled for C4D. Why you may ask? Two main reasons

    1. If other systems that are not C4D need to tap into a c4d asset database to read data.
    2. If we ever need to do a mass data migration out of a c4d asset database down the road for whatever reason.
    3. If Maxon decides to increase licensing cost of Cinema by 10000000000000000% and we need to move to a different solution (however unlikely).

    Can a database connection be made without C4D? Are there any enterprise team pipeline TDs here that could pipe-in with their thoughts as well? If Maxon is black boxing user data with the C4D asset browser, that's a major concern for a production database...

    Thank you,
    Clayton

    posted in General Talk •
    RE: Change FBX Exporter Settings

    @m_adam - Now I'm sorry for my late reply! I appreciate you writing this up for me and I think it's a really good reference. This question has been answered then!

    Another quick question which sort of relates (I can create a new thread if admins want) - Do you have any recommendation for up-to-date C4D Python API training? I'm coming from writing Python in Houdini and Maya, but Cinema 4D seems to have a more unique setup with how to interface with their API.

    Any training recommendations would be appreciated. Teach a man to fish and... something something fish.

    Thank you,
    Clayton

    posted in Cinema 4D SDK •
    Change FBX Exporter Settings

    Hello,

    I'm having issues wrapping my head around how to change an FBX Importer preference via Python. Any help would be appreciated, below explains my approach and what I was able to figure out so far. Please note that I am fairly new to the C4D Python API.

    The specific goal is to change c4d.FBXIMPORT_NORMALS of the FBX Import.

    First I need to figure out what the plugin ID is. I used the below approach to do. Please let me know if there is a better way to do this -

    for p in c4d.plugins.FilterPluginList(c4d.PLUGINTYPE_ANY,True):
      print (p.GetID(), " = ", p.GetName())
    
    

    The above output gives me -

    1026370  =  FBX (*.fbx)
    1026369  =  FBX (*.fbx)
    1026370  =  FBX (*.fbx) Export
    1026369  =  FBX (*.fbx) Import
    1026371  =  FBXExportReferenceTag
    

    The FBX Import Plugin Id is 1026369 . I now can return the BasePlugin object and SHOULD be able to set the parameter from here -

    plug = c4d.plugins.FindPlugin(1026369, c4d.PLUGINTYPE_SCENELOADER)
    print(plug)
    >>> <c4d.plugins.BasePlugin object called FBX (*.fbx) with ID 15 at 2429143389120>
    
    plug[c4d.FBXIMPORT_NORMALS] = c4d.FBXIMPORT_NORMALS_NORMALTAGS
    

    I run the above without any changes to the Preferences/FBX Import UI. Following the same concept for the "Units" plugin I get the expected results when modifying it's parm Units[c4d.PREF_UNITS_AUTOCONVERT] = False

    Am I doing something incorrectly? Is this access via Python just not supported? Any help would be great. Thank you.

    posted in Cinema 4D SDK •
    RE: Instantiating AssetDatabaseStruct

    @ferdinand - Thank you! Apologies about not following forum protocol. I wanted to consolidate to avoid duplicate posts, but understand the desire to have separation between Python / C++ conversations.

    I will reference the C++ material you linked for additional background. Thank you for the straightforward explanation between database and repository.

    Best,
    Clayton

    posted in Cinema 4D SDK •
    RE: Instantiating AssetDatabaseStruct

    I had a moment of clarity after my previous post...

    The "otherOrDbUrl" flag used to init a new "AssetDatabaseStruct" is a maxon.Url object...

    This is not specified in the documentation from what I saw. Probably would be advantageous to include the types that are being passed as arguments.

    At any rate, answered my own question. Database vs Repository clarification would still be useful if you're game!

    Thank you!

    posted in Cinema 4D SDK •
    Instantiating AssetDatabaseStruct

    @ferdinand - Would you be able to provide any additional guidance on how to do this using Python? Specifically, the appropriate way to define a new "AssetDatabaseStruct" so it can be added as an argument for "AssetDataBasesInterface.SetDatabases(newDataBases)"?

    The documentation shows-

    AssetDatabaseStruct.__init__(otherOrDbUrl, active=True, exportOnSaveProject=True, isBuiltin=False)
    

    Which I'm trying to use in this manner -

    dbStruct = AssetDatabaseStruct(otherOrDbUrl="C:/path/to/pre-existing/database/dir", active=True, exportOnSaveProject=True, isBuiltin=False)
    

    But printing out the dbStruct yields -

    _dbUrl: relative:///otherOrDbUrl, _active: True, _exportOnSaveProject: True, _isBuiltin: False
    

    The path isn't taking. I'm assuming "otherOrDbUrl" is a string unix path to the database folder.

    Now contrast this to what prints out after collecting AssetDatabaseStructs from -

    AssetDataBasesInterface.GetDatabases()
    

    which returns-

    _dbUrl: file:///C:/path/to/pre-existing/database/dir, _active: True, _exportOnSaveProject: True, _isBuiltin: False
    

    I can't seem to find any examples on this and the documentation is a bit light (or I'm a bit dense, one of the two). Also I'm still a bit muddy on the differences between an asset database and an asset repository (bonus points if you can shed some light).

    Thank you,
    Clayton

    posted in Cinema 4D SDK •
    RE: Cinema4D CAD Translator SDK

    Very good. Thank you for the response and guiding me towards the appropriate channel of communication for this.

    Best,
    Clayton

    posted in General Talk •
    Cinema4D CAD Translator SDK

    Hello everyone,

    For my own curiosity, is Cinema4D leveraging a third party SDK for it's CAD meshing / translation? If so, does anyone know which one?

    For example, Rhino utilizes Datakit for it's backend CAD translation process. I'm assuming Cinema4D uses a third party SDK as CAD translation is a very complicated subject matter, but Maxon may also be using something custom built at the kernel level instead. A mystery.

    Thanks,
    Clayton

    posted in General Talk •