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. JohnThomas
    3. Topics
    J
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 21
    • Posts 65
    • Groups 0

    Topics

    • J

      Sweep Modifier

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK 2025 c++ windows
      4
      0 Votes
      4 Posts
      589 Views
      ferdinandF
      Hey, Please note that both options, a modifier that changes the number of points of its host, and a spline generator that has another spline as an input, are not great. We have internally two cases that do exactly these two things: The bevel deformer and the spline mask spline generator. But third parties do not easily replicate both because they require detailed knowledge of our API and in some cases access to non-public things. For deformers, Ilia already gave a great explanation. In short, if you are not careful, you can crash Cinema 4D. For the other case, a spline generator which takes another spline as an input, you will run into the issue that splines are not intended to have as objects as inputs. This means you are not getting passed a HierarchyHelp in ObjectData::GetContour with which you could ensure that your child object dependencies are up to date (because by default they are being built after you). There are patterns to solve this, and you run here at worst into the problem of a laggy/malfunctioning plugin and no crashes. But I would still advise going down that rabbit hole when avoidable. When you really must do this and now want to go down the spline generator road, I would recommend opening a new topic on that before you start. Cheers, Ferdinand
    • J

      Render Settings Videopost

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK 2025 c++ windows
      3
      1
      0 Votes
      3 Posts
      654 Views
      J
      @ferdinand Thanks for the response, I figured that would be the case. John Thomas
    • J

      Cache Proxy Tag

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK 2025 c++ windows
      5
      0 Votes
      5 Posts
      734 Views
      J
      @ferdinand Thanks for the detailed response, unfortunately what I'm trying to do doesn't seem viable. John Thomas
    • J

      Order Of Hierarchy Updates For Fieldobjects

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK 2025 c++
      3
      0 Votes
      3 Posts
      539 Views
      J
      @ferdinand Thanks for the response. That's what I was afraid the situation would be, I believe I have a work around that will be able to fulfill what I need it to do. John Thomas
    • J

      Tags Under Cloners

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK 2024 c++ windows
      3
      2
      0 Votes
      3 Posts
      584 Views
      J
      @ferdinand Thanks for the response. That's what I was afraid of. John Thomas
    • J

      BitmapButton in Resource file

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK 2024 c++
      8
      0 Votes
      8 Posts
      2k Views
      i_mazlovI
      Hi @JohnThomas, sorry again for a long delay in the answer. Now I see that in this specific setup when the bitmap button is used inside the field layer plugin, the message MSG_DESCRIPTION_COMMAND is not propagated to the field layer plugin, which sounds like a bug to me. I've checked the code and it's likely due to the field layer data object being somewhat special comparing to others. I will double check this with a corresponding developer, once he's back from parental leave, and create a bug report for this to be fixed. Unfortunately, I cannot offer you any workaround for this before it's fixed. Cheers, Ilia
    • J

      Python: Detect Plugins

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK 2024 python windows
      12
      0 Votes
      12 Posts
      2k Views
      J
      Thanks for the response. I'll see if this does what I need it to John Thomas
    • J

      Loft incorrectly returning input objects

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK sdk r20 c++
      10
      3
      0 Votes
      10 Posts
      2k Views
      ferdinandF
      Hi, without further feedback, we will consider this thread as solved by Monday and flag it accordingly. Cheers, Ferdinand
    • J

      OBJECT_INPUT Child Updating

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK sdk r20 c++
      13
      0 Votes
      13 Posts
      2k Views
      r_giganteR
      Hi @JohnThomas , the data passed in the method is actually carrying the destination object. The code should look like ... if (type == MSG_EDITABLE_END) { BaseObject* dstObject = static_cast<BaseObject*>(data); if (!dstObject) return false; BaseObject* child = dstObject->GetDown(); if (child) { child->Remove(); BaseObject::Free(child); } } ... Cheers, R
    • J

      Edge To Spline Modeling Command

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK sdk r20 c++
      3
      0 Votes
      3 Posts
      914 Views
      J
      Thanks for the response, that was exactly what I needed. John Thomas
    • J

      Retrieving Viewport Camera Matrix

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK r20 sdk c++
      9
      0 Votes
      9 Posts
      2k Views
      J
      Thanks for the detailed response @r_gigante, sorry about the late post. I wasn't trying to move an object into the camera view, I was just trying to get the information about a cameras perspective so that if necessary I could create an object that would have an orientation parallel to it. John Thomas
    • J

      SplineHelp GetPosition Deformation

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK r20 c++ sdk
      3
      1
      0 Votes
      3 Posts
      628 Views
      J
      Thanks for the response, that's exactly what I needed. John Thomas
    • J

      GetSplinePointSegment Offset

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK r20 c++ sdk
      8
      0 Votes
      8 Posts
      1k Views
      r_giganteR
      Hi @JohnThomas thanks for the follow-up. I see the point, but when you're dealing with uniform splines you've also to consider the number of intermediate points you're using to approximate the natural spline. With a natural parametrization even with a low number of points the vertexes position returned from SplineHelp::GetPosition() are accurate, whilst with a uniform parametrization you get higher accuracy as long as you increase the number of points. See the data below, where first coordinate is the position returned by the SplineHelp::GetPosition and the second coordinate is returned by quering the points vector PointsObject::GetPointR() Natural_4 [4, 2123.461, BEZIER, 1] 0 [0/0], 0.000[0.000] --> (200.000,0.000,0.000) -- (200.000,0.000,0.000) 1 [17/0], 0.250[530.865] --> (0.000,700.000,0.000) -- (0.000,700.000,0.000) 2 [34/0], 0.500[1061.731] --> (-200.000,0.000,0.000) -- (-200.000,0.000,0.000) 3 [51/0], 0.750[1592.596] --> (0.000,-200.000,0.000) -- (0.000,-200.000,0.000) Uniform_4 [4, 2107.332, BEZIER, 2] 0 [0/0], 0.000[0.000] --> (200.000,0.000,0.000) -- (200.000,0.000,0.000) 1 [7/0], 0.350[737.566] --> (4.370,699.695,0.000) --> (0.000,700.000,0.000) 2 [14/0], 0.700[1475.132] --> (-199.849,8.692,0.000) -- (-200.000,0.000,0.000) 3 [17/0], 0.850[1791.232] --> (-4.394,-199.953,0.000) -- (0.000,-200.000,0.000) Uniform_16 [4, 2107.332, BEZIER, 2] 0 [0/0], 0.000[0.000] --> (200.000,0.000,0.000) -- (200.000,0.000,0.000) 1 [7/0], 0.350[737.566] --> (4.370,699.695,0.000) -- (0.000,700.000,0.000) 2 [14/0], 0.700[1475.132] --> (-199.849,8.692,0.000) -- (-200.000,0.000,0.000) 3 [17/0], 0.850[1791.232] --> (-4.394,-199.953,0.000) -- (0.000,-200.000,0.000) Uniform_128 [4, 2124.555, BEZIER, 2] 0 [0/0], 0.000[0.000] --> (200.000,0.000,0.000) -- (200.000,0.000,0.000) 1 [182/0], 0.353[749.359] --> (-1.373,699.970,0.000) -- (0.000,700.000,0.000) 2 [363/0], 0.703[1494.600] --> (-199.996,1.279,0.000) -- (-200.000,0.000,0.000) 3 [440/0], 0.853[1811.636] --> (1.380,-199.995,0.000) -- (0.000,-200.000,0.000) If no further help is needed please don't forget to set the thread as Solved. Cheers, R
    • J

      R21 Windows System Error

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK r21 c++ windows
      4
      0 Votes
      4 Posts
      1k Views
      S
      Hello, as Riccardo has pointed out, AdditionalIncludeDirectories has nothing to do with DLLs. It is used to define search paths for header files. See Additional include directories. It was never valid. Also, looking at the error, the plugin was installed into the C:/Program Files folder. In R21, there is no reason to install plugins there; one can install plugins at any location and just tell Cinema 4D the plugin path. best wishes, Sebastian
    • J

      Inconsistent Matrix Behavior

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK r20 c++
      13
      1
      0 Votes
      13 Posts
      2k Views
      J
      Thanks for the response. I changed my code to match the example you gave and it seems like that fixes the immediate problem I was running into. It will take some tests to verify if this covers all of the circumstances that I need it to. I appreciate the help. John Thomas
    • J

      Accessing a virtual matrix object.

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK c++ sdk
      5
      0 Votes
      5 Posts
      938 Views
      J
      @m_magalhaes Thanks for the response Manuel, that was exactly what I needed. John Thomas
    • J

      MoGraph Form Control

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK c++ r20 sdk
      3
      0 Votes
      3 Posts
      695 Views
      ManuelM
      hello, if you have nothing to add, this thread will be considered as 'solved' and will be closed tomorrow Cheers Manuel
    • J

      Retrieving Deformed Splines

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK c++ r20 sdk
      3
      0 Votes
      3 Posts
      654 Views
      J
      Thanks for the reply, it really helped me out. John
    • J

      GetVirtualObjects or GetContour

      Watching Ignoring Scheduled Pinned Locked Moved Cinema 4D SDK c++ sdk r20
      3
      0 Votes
      3 Posts
      907 Views
      J
      Thank you for your answer. That was exactly what I was looking for. John Thomas