• 0 Votes
    3 Posts
    1k Views
    H
    Hi @ferdinand, thanks for taking the time to clarify that Okay, I see. So one can view this "behavoiur" as intended since it is the result of the math behind how the circle spline is calculated? Still I wonder why the circle spline primitive with 1 intermediate point, i.e. with four control points doesn't appear like the n-side spline with 8 sides? Wouldn't it be "cleaner" that way? Regading the true values - I am well aware that the repr of c4d.Vector rounds in the GUI. It was only that those values were quite off compared to the values of the points of the n-side spline. That's why my initial question arose. Interesting and good to know that rotating points via sine and cosine is slow and no good option. Thank you for that insight. May I ask why that is? I mean why is c4d.utils.MatrixRotZ better? What does that function do differently in terms of performance? In the end it has to do the math as well, does it not? Sorry for constantly asking all this stupid questions. It is only that I want to understand these things thoroughly. Thanks for your time, Sebastian
  • Which DisplayFilter affects ToolData.draw

    Cinema 4D SDK 2023 2024 s26 python
    3
    0 Votes
    3 Posts
    785 Views
    gheyretG
    Hi @ferdinand , I'm sorry that my title and description may be a little confused, maybe I misunderstood something and thought a little complicated. And thank you very much for your answer, you always help me when my thinking is confused. Cheers! Gheyret
  • How to change the color of shaded wire in C++

    Cinema 4D SDK s26 c++
    3
    1
    0 Votes
    3 Posts
    893 Views
    P
    @i_mazlov Thank you for your reply
  • 0 Votes
    6 Posts
    3k Views
    i_mazlovI
    Hi @gsmetzer, please have a look at the related thread (How to get the bounding box for the whole scene) where your issue was explained in details by @ferdinand @ferdinand said in How to get the bounding box for the whole scene: a BaseObject will also not include its descendants in its bounding box computation So, one must carry out such computations oneself Cheers, Ilia
  • How to draw a primitive object in BaseDraw

    Cinema 4D SDK python 2023 2024 s26
    3
    0 Votes
    3 Posts
    924 Views
    gheyretG
    Hi @ferdinand Thank you for your reply and guidance. I'll get around to it. Cheers Gheyret
  • Why won't my python generator update? R2024

    Cinema 4D SDK python s26 windows
    5
    0 Votes
    5 Posts
    1k Views
    S
    @baca @ferdinand Thank you both. It was the fact that the user data was not collected in the main function. Silly I didn't catch that. It's working fine now.
  • 0 Votes
    3 Posts
    909 Views
    S
    @i_mazlov sorry I thought I deleted this post as I solved the issue. Anyway to anyone who stumbles upon this question here's how I solved it: for i,pt in enumerate(points_list[::-1]): off = c4d.Vector(distance * i,0,0 ) mg = pt.GetMg() mg.off = off print(rotation.x) rm = c4d.utils.HPBToMatrix(rotation) pt.SetMg(mg * rm) So basically if the objects are inserted in the hierarchy and you start from the last one with the transformations this will work just like in the OM.
  • 0 Votes
    3 Posts
    983 Views
    H
    Hi @ferdinand, ah okay I see. Some part of me already suspected it could be a bug. Thanks for taking the time to look into it. Regarding the scope of question. You are absolutely right. And while I understand that it can make answering branching questions hard, it is sometimes not that easy to split things up. But all good, no offense taken. One last thing, I know you guys are not here to develop solutions or come up with algorithms. Still, I was wondering if a possible solution could be to move the selected points to a custom vector position and afterwards simply send an "Optimize" modeling command? Cheers, Sebastian
  • 0 Votes
    5 Posts
    2k Views
    i_mazlovI
    Yes, you found the thread about point selection just right!
  • 0 Votes
    5 Posts
    1k Views
    G
    I want to mirror a polygon selection along specified modeling axis, but i'm kinda stuck since i can't apply the dedicated Mirror Tool, the basic Scale Tool also doesn't allow to set the tool settings...
  • How to Apply a modeling command?

    Cinema 4D SDK s26 windows python
    3
    0 Votes
    3 Posts
    790 Views
    G
    Thanks man, i'll take a look at it!
  • How to create a radial (pie) menu?

    Cinema 4D SDK windows s26 python
    6
    0 Votes
    6 Posts
    3k Views
    G
    Thanks for your detailed answers, i hoped there is a simpler way to do it)... Pie menus is a very common thing nowadays, why maxon developers haven't implemented it already? In modo for example you can create pie menus, popups...etc without any coding. Not every user is ready/have the time/etc to learn python to build a simple popup, but almost every user needs to customize their working software. I really hope you'll implement these features soon.
  • 0 Votes
    3 Posts
    909 Views
    B
    In the past I have refrained from CallCommands and CallButtons because they used to add to the undo queue or did. But I suppose in this instance I can just do it for thise purpose.
  • 0 Votes
    4 Posts
    1k Views
    P
    @spedler Thank you for your help
  • 0 Votes
    2 Posts
    705 Views
    ferdinandF
    Hello Herr May, Thank you for reaching out to us. I am not quite sure why you think it should do that. The angle between two vectors u and v is defined as: theta(u, v) = arccosine(~u * ~v) I.e., the arccosine of the dot product of the two normalized vectors. This is due to the so called circle functions, specifically this identity: [image: 1697012566409-26ea0c5e-9de3-4885-bc15-34b4ee3342da-image.png] Under the hood, GetAngle does exactly what I declared above (just in a bit more efficient manner, as calculating the normalized vector is much more expensive than this little trick): [image: 1697012429446-123bbf8a-568b-49a5-9ff3-2bac41f61339-image.png] As you can see, the correct solution to the arccosine of the dot product of the null vector with itself is 0.5 π, i.e., the value you got : [image: 1697012846516-ebfd4607-e872-42ef-898c-d3a2de4d8dd8-image.png] You could now argue if that is a sensible result for a method that is called 'GetAngle' and if it should throw an error on getting an input vector or being called on a vector with the length zero. But you have also to keep in mind that the C++ backend is used by people who will know the identity pi_half = arccosine(~(0, 0, 0) * ~(0, 0, 0)) and might want to make use of it. Cheers, Ferdinand
  • Command Make Editable confusion

    Cinema 4D SDK s26 windows python
    4
    0 Votes
    4 Posts
    1k Views
    G
    Got it! Thanks.
  • 0 Votes
    3 Posts
    799 Views
    P
    @ferdinand Thank you for your reply
  • 0 Votes
    13 Posts
    3k Views
    G
    It works as expected in C4D 2024, but not in the previous versions.
  • 0 Votes
    2 Posts
    871 Views
    i_mazlovI
    Hi @Gaal-Dornik , Thanks for reaching out to us. Please excuse the delay. This issue is now tracked via internal bug tracking system. Thread is tagged to_fix, so that the thread can be tracked more closely. Cheers, Ilia
  • 0 Votes
    5 Posts
    1k Views
    gheyretG
    @ferdinand Indeed, the allure of good looks can be captivating at times. In fact, my primary objective was to explore the development of a pie toolbar, which may seem unconventional but has always held a deep fascination for me. I sincerely appreciate your valuable advice and will certainly give it a try. Cheers, Gheyret