• GetId() returns a long and not a int!

    r21 python
    5
    1
    0 Votes
    5 Posts
    615 Views
    P
    Great, thank you.
  • Connect + Delete groups iteratively

    python r20
    5
    0 Votes
    5 Posts
    1k Views
    ManuelM
    hello, I'will consider this thread as solved tomorrow if you have nothing to add Cheers, Manuel
  • Best plugin type for background (thread) processing?

    r20 python
    16
    0 Votes
    16 Posts
    3k Views
    M
    Since this topic is older than a week I marked is as closed, but feel free to reopen it if you have further questions. Cheers, Maxime
  • Performance Issue with Symmetry - and other

    Moved
    2
    0 Votes
    2 Posts
    500 Views
    M
    Hi @chakuew0, plugincafe is only a support for Cinema 4D API and SDK, and I don't see in any way how your question is related to the API, but more an issue within Cinema 4D. So please contact the Cinema 4D support for all no related API questions in this page. Cheers, Maxime.
  • NBIT xHIDE visibility flags - THIDE deprecated?

    c++ python r21
    7
    0 Votes
    7 Posts
    721 Views
    CairynC
    Thanks, it's good to know that there are internal functionalities actually using these flags!
  • 0 Votes
    5 Posts
    850 Views
    P
    Thank you so much! This helps me a lot with the understanding of what was going on. I am digging back into my work on this today and will follow up with your advice.
  • 0 Votes
    6 Posts
    1k Views
    mfersaouiM
    @zipit Hi, Thank you so much.
  • List of all Cinema 4D IDs?

    r21 sdk python
    5
    0 Votes
    5 Posts
    665 Views
    ?
    @m_adam Thank you for the clarification and the code example, Maxime!
  • GetSplinePointSegment Offset

    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
  • I cannot get multiple polygons from GetNearestPolygon

    r20 c++
    6
    0 Votes
    6 Posts
    635 Views
    ManuelM
    hello, I've lookied into the live selection tool and internally it's using GetPixelInfoPolygon, or the equivalent for point and edges. You also have Get<xxx>PixelBuffer where <xxx> is Point, Edge or Polygon. That return the internal buffer constructed inside the Init function of the ViewportSelect Class. pixelBuffer[ width*y + x] will give you the right pixel on that buffer. Sorry to have missed those functions. Cheers, Manuel
  • C++ -> Python of DOCUMENTSETTINGS_GENERAL & DOCUMENT_STATEX

    4
    0 Votes
    4 Posts
    439 Views
    M
    thanks to all of you, got it working with axisstate.x = int(doc.GetData(c4d.DOCUMENTSETTINGS_GENERAL).GetBool(c4d.DOCUMENT_STATEX)) kind regards mogh
  • Draw a point in View,how to select it?

    r21 c++
    10
    0 Votes
    10 Posts
    1k Views
    chuanzhenC
    @m_magalhaes ok,It's a bit complicated
  • Making Houdini Engine visible to C4D via Python

    r21 python
    4
    0 Votes
    4 Posts
    920 Views
    jcooperJ
    @r_gigante Perfect! Worked like a charm. Thank you.
  • ParallelFor vs. ParallelImage

    c++ r20 sdk macos
    6
    0 Votes
    6 Posts
    648 Views
    fwilleke80F
    Thanks a lot! That helps Cheers, Frank
  • Object Links in GeDialog

    sdk python
    1
    1
    0 Votes
    1 Posts
    171 Views
    No one has replied
  • Listing All Renderers

    python
    5
    1
    0 Votes
    5 Posts
    552 Views
    ?
    @m_adam You are a genius - I am in awe! Thank you everyone for the help!
  • How to setup c4d.utils.ViewportSelect() and GetNearestPoint to work

    python
    9
    0 Votes
    9 Posts
    2k Views
    M
    @m_magalhaes This morning: uff more learning and work. This Afternoon lets try this code ... mind blown ... thank you ! I'll mark this as solved hence I think ist a good way to close a thread with a working prototype for others to learn. Thank You again, @zipit & @m_magalhaes mogh
  • Hiding GeDialog elements

    c++ r21
    7
    2
    0 Votes
    7 Posts
    720 Views
    fwilleke80F
    Thanks, Maxime! That answers all my questions I'll mark this solved now.
  • GeUserArea Tool Tips

    python
    5
    1
    0 Votes
    5 Posts
    610 Views
    ?
    @m_adam & @PluginStudent Thank you both! This was exactly what I needed. This forum is so so helpful.
  • Recalculate Plugin Object Cache

    python
    6
    0 Votes
    6 Posts
    892 Views
    mfersaouiM
    Hi @r_gigante, @zipit, I'm creating something like the following code. I tried to use the GetAndCheckHierarchyClone, this works but the cloner object became to slow to calculate. For this reason I used the following solution: def __init__(self): pass #self.SetOptimizeCache(True) def GetVirtualObjects(self, op, hh): instance = op.GetDown() if instance is None: return c4d.BaseObject(c4d.Onull) dirty = op.CheckCache(hh) or op.IsDirty(c4d.DIRTY_DATA) instance_dirty = instance.IsDirty(c4d.DIRTY_DATA) dirty |= instance_dirty if not dirty: return op.GetCache(hh) cloner = c4d.BaseObject(c4d.Onull) count = 3 n = 0 while n < count: instance.GetCache().GetClone().InsertUnder(cloner) n += 1 cloner.Message(c4d.MSG_UPDATE) return cloner So, by just deactivating the SetOptimizeCache and cloning only the cache of the instance object the cloner object calculate is become to fast. The unique problem now is the cloner object is return the cache of previous modification on the instance object. This is perceptible only with bool parameters. Example: When I check a bool parameter of the instance object, the cloner return the result of the previous state of the bool parameter. but if I mouseover the cloner in the Viewport or I select it object manager this update the cloner object. Thanks