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. ymoon
    3. Posts
    • Profile
    • Following 1
    • Followers 1
    • Topics 13
    • Posts 32
    • Best 1
    • Controversial 0
    • Groups 0

    Posts made by ymoon

    • RE: Python Tag plugin : Is it possible to disable(ghost) the host object's parameters?

      @ferdinand
      Thank you for your kind explanation. I will explore other options.

      posted in Cinema 4D SDK
      ymoonY
      ymoon
    • Python Tag plugin : Is it possible to disable(ghost) the host object's parameters?

      Hello Hi Dear....
      In a Python Tag plugin, is it possible to disable (ghost) the host object's parameters? GetDEnabling only allowed disabling the tag's own options.
      Is there a way to do this?
      ex) the tag disables some options of the Bend object.

      	def GetDEnabling(self, node, id, t_data, flags, itemdesc) : 
      
      		#disable --> DEFORMOBJECT_ALIGNMENT DEFORMOBJECT_FITTOPARENT DEFORMOBJECT_MODE
      
          def Execute(self, op, doc, host, bt, priority, flags):
              doc = c4d.documents.GetActiveDocument()
              bend = op.GetObject()
      
      

      Thank You....

      posted in Cinema 4D SDK python 2025
      ymoonY
      ymoon
    • RE: Python Tag: Detecting Edge Selection Changes

      Thanks, I'll test Dirty on selection.

      posted in Cinema 4D SDK
      ymoonY
      ymoon
    • Python Tag: Detecting Edge Selection Changes

      Can Python tag detect when an object's edge selection is being added or modified?

      So far, this is the only thing I've discovered: The detection only responds when a component is added or deleted.

      import c4d
      def main():
          pass
      def message(mid, data):
          if mid == c4d.MSG_POLYGONS_CHANGED: 
              print(f"somthing is happening: {mid}")
          return True
      
      posted in Cinema 4D SDK windows 2025 python
      ymoonY
      ymoon
    • RE: Force VertexMap display

      @ferdinand, Is it possible to VertexColor, WeightMap(character rig) in the same way?
      Some games use VertexColor, so marking can always be useful.
      I tried to convert your code to VertexColor, but I lack knowledge. Please help us.

      posted in Cinema 4D SDK
      ymoonY
      ymoon
    • RE: hud depth buffer?

      Added one more for... zip to remove the invisible points.

      posted in Cinema 4D SDK
      ymoonY
      ymoon
    • RE: hud depth buffer?

      @i_mazlov said in hud depth buffer?:

      As a workaround you might consider only drawing HUDs for those points that are exposed to the editor camera.

      Thanks for your answer. The code above is my limit.
      would you give me a hint? thank you.

      posted in Cinema 4D SDK
      ymoonY
      ymoon
    • RE: hud depth buffer?

      @i_mazlov
      Here is code. Thank You.

      def draw(bd: c4d.BaseDraw) -> bool:
          obj=op.GetObject()
          points = obj.GetAllPoints()
          objMg = obj.GetMg()
          newpointpos = []
          for o in points:
              newmg = objMg * o
              newpointpos.append(newmg)
          scrpos = []
          for p in points:
              newpos = bd.WS(p)
              scrpos.append(newpos)
          textval = []
          for i, pos in enumerate(zip(newpointpos, scrpos)):
              data = {"_txt":str(i), "_position":pos[1]}
              textval.append(data)
          bd.SetDepth(False)
          bd.DrawMultipleHUDText(textval)
          bd.SetDepth(True)
          return True
      
      posted in Cinema 4D SDK
      ymoonY
      ymoon
    • hud depth buffer?

      What is the correct code "HUD depth buffer" in R19 and R2023?
      As shown, in R2023 the HUD is not obscured by objects. (R19 is inverted)
      Thank You.

      bd.SetDepth(False)
      bd.DrawMultipleHUDText(data)
      bd.SetDepth(True)
      

      Depth.png

      posted in Cinema 4D SDK r19 2023 python
      ymoonY
      ymoon
    • RE: Object Opacity Animation by Python Tag

      @ferdinand
      Thank You for Reply

      posted in Cinema 4D SDK
      ymoonY
      ymoon
    • RE: Object Opacity Animation by Python Tag

      @ferdinand
      I am sorry for the confusion.
      Display Tag - Visibility creates Opacity when rendering.
      (without depending on the material-alpha channel)
      I wanted to know if there is a function in Python that has the same effect as Display Tag - Visibility %. (not viewport)
      Thank You.

      posted in Cinema 4D SDK
      ymoonY
      ymoon
    • Object Opacity Animation by Python Tag

      Hello Dear Dev.
      Is it possible to animate the transparency of an object in Python without using "Display Tag - Visibility"?
      I searched in the SDK but couldn't see anything similar.
      I'm looking for a way not to use Display Tag. Thank You.

      posted in Cinema 4D SDK 2023 python
      ymoonY
      ymoon
    • RE: Calculate third point position aligned with two points(edge dir)

      @chuanzhen said in Calculate third point position aligned with two points(edge dir):

      Here is one of the calculations:
      In world coordinates, get ab vector and the length of bc vector
      Then normalize the ab vector , then use the length of the bc vector to scale the length of the has normalized ab vector , use point b world position to offset the ab vector (that is, add the world position of the point b vector) to get the position of point C

      file use Xpresso to calculate C Position
      test.c4d

      Thanks for the quick reply.
      How do I change this to run in the local coordinate system?
      I'm not familiar with the matrix. Thank you.

      ah... sorry forget it. remove * mg

      posted in Cinema 4D SDK
      ymoonY
      ymoon
    • Calculate third point position aligned with two points(edge dir)

      There are three points. In the picture, I want to straighten the third point while keeping the edge length. What are the correct methods for vector and matrix arithmetic (Python/R2023)? Thank You.

      test.c4d

      Q.png

      posted in Cinema 4D SDK 2023 python
      ymoonY
      ymoon
    • RE: Use the tab name and open the that window?

      @ferdinand
      There is no command to invoke the viewport window, so I was looking for an alternative. I will tagging the version in the next post. (R2023) Thank You.

      posted in Cinema 4D SDK
      ymoonY
      ymoon
    • Use the tab name and open the that window?

      Use the tab name, Open that window?

      Can I use the tab name and open that window?
      I want to switch the Viewports and Project Settings windows to Python.
      Access to tabs in the SDK is rarely written.
      Asking for help. Thank You.

      vp.png

      posted in Cinema 4D SDK python
      ymoonY
      ymoon
    • RE: Can I select only the edge of an inner hole?

      @ferdinand
      Yes I understood.

      posted in General Talk
      ymoonY
      ymoon
    • RE: Can I select only the edge of an inner hole?

      @ferdinand
      Thank You. I read Polygon Object in Detail .

      posted in General Talk
      ymoonY
      ymoon
    • Can I select only the edge of an inner hole?

      Can I select only the edge of an inner hole?
      I've tried modifying the conditions, but I haven't been able to get the results I want. Please help me.

          for i, pol in enumerate(polys) :
              eab = n.GetNeighbor(pol.a, pol.b, i)
              ebc = n.GetNeighbor(pol.b, pol.c, i)
              ecd = n.GetNeighbor(pol.c, pol.d, i)
              eda = n.GetNeighbor(pol.d, pol.a, i)
              cotes = n.GetPolyInfo(i)["edge"]
                  
              if eab == -1 :
                  bs.Select(cotes[0])              
              if ebc == -1 :
                 bs.Select(cotes[1])
              if ecd == -1 :
                  if pol.c != pol.d:
                      bs.Select(cotes[2])
              if eda == -1 :
                 bs.Select(cotes[3])
      

      inner edge.png

      posted in General Talk 2023
      ymoonY
      ymoon