Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware 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. x_nerve
    3. Topics
    X
    • Profile
    • Following 0
    • Followers 0
    • Topics 7
    • Posts 35
    • Best 3
    • Controversial 0
    • Groups 0

    Topics created by x_nerve

    • X

      Forum email receiving delay

      General Talk
      • • • x_nerve
      2
      0
      Votes
      2
      Posts
      1.3k
      Views

      ferdinandF

      Hello @x_nerve,

      thank you for reaching out to us and bringing this up.

      the forum cannot be searched without registration.

      We had a quick internal discussion, and we agree, guests should be able to search the content of the forum. I have changed the settings; you can now also search as a guest for topics. Searching for users and creating topics intentionally remains disabled for guests.

      "Maxon One" has fully promoted the subscription system, but Plugin Cafe forum and Redshift forum accounts cannot log in to each other.

      I am not sure if I do understand what you mean with 'log into each other', but I assume you are talking about having automatically provided user accounts via your id.maxon.net account with which you also identify with the Maxon products you have licensed.

      This is first of all technically not trivial, but it would also lock out anyone who does not have a Maxon ID account. To be able to search over all forums, the forums would have to be integrated into one database or we would have to substantially modify the frontend (NodeBB in case of Plugin Café). In the close future there are no plans to do this. In the long term Maxon has some community management plans which might address the integration of multiple forums, but I can give neither a guarantee that this will happen nor an ETA. If such a system will be built, we will likely also use Maxon ID for authentication there.

      Cheers,
      Ferdinand

    • X

      [Fork] Detailed C++ Plugin Development Process Tutorial

      General Talk
      • c++ • • x_nerve
      4
      1
      Votes
      4
      Posts
      799
      Views

      ferdinandF

      Hello @x_nerve,

      excuse my late reply. But our answer remains the same, we can give no guarantee that we will do this immediately and it is rather unlikely that we will do it. The reason being, that the information is already there, mostly in Getting Started: Introduction, it just happens to be in a slightly inconvenient form. And doing it here in the forum instead of the documentation would not be an improvement, especially if it is meant to be "detailed", as we then would do work that is not integrated with the document space users usually use to learn about concepts in the SDK, the SDK documentation hosted on develeoprs.maxon.net. As most people and companies, we have to plan where we invest our time best. And writing and maintaining the SDK documentation is only a part of our tasks. Which is why we did decide against doing it right now.

      Thank you for your understanding,
      Ferdinand

    • X

      Gets the point weight of the Field object.

      Cinema 4D SDK
      • • • x_nerve
      2
      0
      Votes
      2
      Posts
      512
      Views

      ferdinandF

      Hi @x_nerve,

      thank you for reaching out to us. The most straightforward way to sample a FieldObject is FieldObject.Sample; there are also other sample methods attached to the various fields related classes, most notably c4d.FieldList. We have two examples in the Python SDK examples which showcase field sampling, fieldlist_sampling_r20 and fieldobject_sampling_20.

      You also mention "Is there a way to get the weight of the cube field points?"; you are probably aware of this, but since your phrasing could imply otherwise, it seems noteworthy to point out that fields are not discrete. So in other words, there is no finite amount of points you can exhaustively sample for a field object, since the object is non-discrete. You have to pick a point or a set of points you want to sample for a field object, which can be any point in in the value range c4d.Vector can handle.

      If there are any questions left, please do not hesitate to ask.

      Cheers,
      Ferdinand

    • X

      The slider tool returns False.

      General Talk
      • r21 python • • x_nerve
      2
      0
      Votes
      2
      Posts
      517
      Views

      M

      Hi @x_nerve the ID used is not the correct one you should use: 431000021 for edge mode and 431000030 for point mode, unfortunately, there are no symbols for these tools.

      Cheers,
      Maxime.

    • X

      Some attempts at nondestructive modeling

      General Talk
      • r21 python • • x_nerve
      5
      0
      Votes
      5
      Posts
      1.1k
      Views

      X

      Hi:

      After a trial run, the script was tested successfully. By setting the name suffix of Python Tag, the problem of repeated running of Tag can be solved.

      Taking c4d.DIRTYFLAGS_SELECT as an example, if the point, line, and surface selections change, it will execute, otherwise it won't.

      The Python script code is as follows:

      import c4d #e-mail: [email protected] def main(): Name = op.GetName() Objects = op.GetObject() Changed = Objects.GetDirty(c4d.DIRTYFLAGS_SELECT) Text = ["xit" + str(Changed)[-1]] if str(Name).count(Text[0][:-1]) != 0 : if str(Name).find(Text[0][:-1]) != str(Name).rfind(Text[0][:-1]) : if str(Name)[str(Name).rfind(Text[0][:-1]):] == Text[0] : if str(Name).find(Text[0][:-1]) <= 0: #Do not execute, exit the program. print ("Does not perform.") op.SetName(str(Text[0])) return else: #Do not execute, exit the program. op.SetName(str(Name)[:str(Name).find(Text[0][:-1])] + str(Text[0])) print ("Does not perform.") return else: if str(Name).find(Text[0][:-1]) <= 0: op.SetName(str(Text[0])) print ("Perform.") else: op.SetName(str(Name)[:str(Name).find(Text[0][:-1])] + str(Text[0])) print ("Perform.") else: if str(Name)[str(Name).rfind(Text[0][:-1]):] == Text[0] : #Do not execute, exit the program. print ("Does not perform.") return else: op.SetName(str(Name)[:str(Name).find(Text[0][:-1])] + str(Text[0])) print ("Perform.") else: print ("Perform.") op.SetName(str(Name) + str(Text[0])) print ("pass") #The next thing to execute.
    • X

      "Axis Center " Script button reuse problem

      General Talk
      • r21 python • • x_nerve
      3
      0
      Votes
      3
      Posts
      642
      Views

      X

      Thank you very much for your help to solve the previous doubts. I will continue to work hard.

    • X

      The layer material ID is the same as the node material ID.

      General Talk
      • r21 python • • x_nerve
      8
      0
      Votes
      8
      Posts
      1.3k
      Views

      indexofrefractionI

      I also just ran into this...
      < R24 you dont have BaseList2D.IsNodeBased, but as a small hack you can do:

      def isNodeMaterial(op): return True if op.GetType == c4d.Mmaterial and '[Node]' in op.GetBubbleHelp() else False