Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush Python API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Login
    1. Maxon Developers Forum
    2. Joel
    3. Topics
    J
    • Profile
    • Following 0
    • Followers 0
    • Topics 9
    • Posts 25
    • Best 1
    • Controversial 0
    • Groups 0

    Topics created by Joel

    • J

      Create Splines without lines

      Cinema 4D SDK
      • python • • Joel
      2
      0
      Votes
      2
      Posts
      459
      Views

      ferdinandF

      Hi @Joel,

      Thank you for reaching out to us. You might want to have a look at this example script of ours which takes you in a scenic tour through SplineObject handling. I also covered the case of a multi-segment spline there.

      Cheers,
      Ferdinand

    • J

      ExecutePasses to slow

      Cinema 4D SDK
      • python • • Joel
      8
      0
      Votes
      8
      Posts
      1.3k
      Views

      J

      Hello @Joel,

      without further questions or postings, we will consider this topic as solved by Friday, the 11th of august 2023 and flag it accordingly.

      Thank you for your understanding,
      Maxon SDK Group

    • J

      Dialog Menu

      Cinema 4D SDK
      • python • • Joel
      6
      0
      Votes
      6
      Posts
      1.3k
      Views

      J

      Creating an instance for each subdialog solved the issue thank you so much.

    • J

      Inheritance created by Python script not getting saved

      Cinema 4D SDK
      • python • • Joel
      8
      0
      Votes
      8
      Posts
      1.3k
      Views

      J

      @ferdinand Thank you so much. Adding:

      inheritance1.Message(c4d.MSG_MEUPREPARE, doc)

      Solved the issue.

    • J

      Get Spline Points Positions from PLA keyframes

      Cinema 4D SDK
      • python • • Joel
      4
      0
      Votes
      4
      Posts
      1.1k
      Views

      ferdinandF

      Hey @joel,

      a 'dead' object means that Python tries to reference a node which does not exist in the C++ layer anymore, i.e., has been de- or reallocated. Since my function retrieves the tag on the spot and does not attempt to pass it outside of the function, it seems a bit unlikely that the tag is already dead, at least I am not experiencing any of this.

      Please provide the scene, code you are running, and the exact stack trace (do not forget to save your script first, so that the trace has the correct line numbers). Otherwise I will not be able to help you.

      Cheers,
      Ferdinand

    • J

      Trying to install Python package

      Cinema 4D SDK
      • • • Joel
      4
      0
      Votes
      4
      Posts
      702
      Views

      J

      Thank you so much.
      All further communications will be done via email.

    • J

      Python Plugin GUI Tutorial

      Cinema 4D SDK
      • python • • Joel
      5
      0
      Votes
      5
      Posts
      2.2k
      Views

      J

      Thank you so much for the information.
      If further information is needed I will reopen this question.

    • J

      Python Cloner Effectors Keyframe

      Cinema 4D SDK
      • python • • Joel
      6
      0
      Votes
      6
      Posts
      1.0k
      Views

      J

      I was able to solve it by searching the DescID in the Cloner Description with the Inheritance Name.

    • J

      Mograph Objects Python

      Cinema 4D SDK
      • python • • Joel
      4
      0
      Votes
      4
      Posts
      629
      Views

      ferdinandF

      Hello @joel,

      Thank you for reaching out to us and thank you @iplai for providing the answer.

      There is not much to add for us here. Prior to 2023.0.0 there were some larger gaps in the type symbol definitions of classic API nodes, e.g., objects, tags, materials, shaders, Xpresso nodes, scene hooks, etc, because they were never defined in the frameworks (so this was not just a Python thing, even in our internal C++ API they were more or less hardcoded). One major offender was your use case, MoGraph. With 2023.0.0 I have added the cases which I considered most important for public users, objects, materials, shaders, tags and Xpresso nodes. But there are still some gaps in more fringe node types as for example scene hooks, because it is quite a bit of work to pull them out of our code base.

      With that being said, a type symbol is just that: a symbol. They stand for the integer ID with which the type is being registered. You can always use the raw integer value or just define a symbol for the integer value yourself.

      import c4d # Define the two symbols yourself and attach them to the c4d module. c4d.Omgcloner: int = 1018544 c4d.Omginheritance: int = 1018775 def main(): """ """ a: c4d.BaseObject = c4d.BaseObject(c4d.Omgcloner) b: c4d.BaseObject = c4d.BaseObject(c4d.Omginheritance) if None in (a, b): raise MemoryError("Object allocation failed.") doc.InsertObject(a) doc.InsertObject(b) c4d.EventAdd() if __name__ == "__main__": main()

      An uncomplicated way to find out these type symbols is the console and the method C4DAtom.GetType (all classic API nodes are of type C4DAtom). Drag the thing you are interested in into the console (e.g., the Inheritance object) and type after it .GetType() and press Enter:

      gettype.gif

      Cheers,
      Ferdinand