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
    • Profile
    • Following 0
    • Followers 0
    • Topics 21
    • Posts 65
    • Best 0
    • Controversial 0
    • Groups 0

    Topics created by JohnThomas

    • J

      Sweep Modifier

      Cinema 4D SDK
      • 2025 c++ windows • • JohnThomas
      4
      0
      Votes
      4
      Posts
      523
      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

      Cinema 4D SDK
      • 2025 c++ windows • • JohnThomas
      3
      0
      Votes
      3
      Posts
      625
      Views

      J

      @ferdinand
      Thanks for the response, I figured that would be the case.

      John Thomas

    • J

      Cache Proxy Tag

      Cinema 4D SDK
      • 2025 c++ windows • • JohnThomas
      5
      0
      Votes
      5
      Posts
      702
      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

      Cinema 4D SDK
      • 2025 c++ • • JohnThomas
      3
      0
      Votes
      3
      Posts
      507
      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

      Cinema 4D SDK
      • 2024 c++ windows • • JohnThomas
      3
      0
      Votes
      3
      Posts
      564
      Views

      J

      @ferdinand

      Thanks for the response.

      That's what I was afraid of. 😦

      John Thomas

    • J

      BitmapButton in Resource file

      Cinema 4D SDK
      • 2024 c++ • • JohnThomas
      8
      0
      Votes
      8
      Posts
      1.5k
      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

      Cinema 4D SDK
      • 2024 python windows • • JohnThomas
      12
      0
      Votes
      12
      Posts
      2.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

      Cinema 4D SDK
      • sdk r20 c++ • • JohnThomas
      10
      0
      Votes
      10
      Posts
      1.6k
      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

      Cinema 4D SDK
      • sdk r20 c++ • • JohnThomas
      13
      0
      Votes
      13
      Posts
      2.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

      Cinema 4D SDK
      • sdk r20 c++ • • JohnThomas
      3
      0
      Votes
      3
      Posts
      894
      Views

      J

      Thanks for the response, that was exactly what I needed.

      John Thomas

    • J

      Retrieving Viewport Camera Matrix

      Cinema 4D SDK
      • r20 sdk c++ • • JohnThomas
      9
      0
      Votes
      9
      Posts
      1.6k
      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

      Cinema 4D SDK
      • r20 c++ sdk • • JohnThomas
      3
      0
      Votes
      3
      Posts
      616
      Views

      J

      Thanks for the response, that's exactly what I needed.

      John Thomas

    • J

      GetSplinePointSegment Offset

      Cinema 4D SDK
      • r20 c++ sdk • • JohnThomas
      8
      0
      Votes
      8
      Posts
      1.2k
      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

      Cinema 4D SDK
      • r21 c++ windows • • JohnThomas
      4
      0
      Votes
      4
      Posts
      1.2k
      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

      Cinema 4D SDK
      • r20 c++ • • JohnThomas
      13
      0
      Votes
      13
      Posts
      1.8k
      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.

      Cinema 4D SDK
      • c++ sdk • • JohnThomas
      5
      0
      Votes
      5
      Posts
      925
      Views

      J

      @m_magalhaes Thanks for the response Manuel, that was exactly what I needed.

      John Thomas

    • J

      MoGraph Form Control

      Cinema 4D SDK
      • c++ r20 sdk • • JohnThomas
      3
      0
      Votes
      3
      Posts
      678
      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

      Cinema 4D SDK
      • c++ r20 sdk • • JohnThomas
      3
      0
      Votes
      3
      Posts
      647
      Views

      J

      Thanks for the reply, it really helped me out.

      John

    • J

      GetVirtualObjects or GetContour

      Cinema 4D SDK
      • c++ sdk r20 • • JohnThomas
      3
      0
      Votes
      3
      Posts
      884
      Views

      J

      Thank you for your answer. That was exactly what I was looking for.

      John Thomas