• Transparency channel - Color update

    3
    0 Votes
    3 Posts
    732 Views
    KantroninK
    I found the solution (I already had this problem but I couldn't remember the right code) mat [c4d.MATERIAL_TRANSPARENCY_COLOR] = c4d.Vector (1.0, 1.0, 1.0) #color white mat.Update (True, True)
  • Cinema 4D S22 availability

    Locked
    1
    0 Votes
    1 Posts
    610 Views
    No one has replied
  • BaseDraw known issues in S22

    Locked windows macos c++ python
    1
    1 Votes
    1 Posts
    547 Views
    No one has replied
  • GeUserArea ActivateFading and AdjustColor

    c++ r19 r20 r21
    6
    0 Votes
    6 Posts
    673 Views
    C4DSC
    @PluginStudent Yup ... it's official, I need glasses on top of my glasses. Thanks for pointing it out.
  • animation disregarded after toolplugin

    python r20
    8
    0 Votes
    8 Posts
    1k Views
    D
    But I appreciate that you where trying to make things more streamlined
  • Generators, Materials, Undo's, Oh My!

    python
    12
    0 Votes
    12 Posts
    2k Views
    ManuelM
    the whole thread is the answer anyway
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    7 Views
    No one has replied
  • SendModelingCommand() in R20 and R21

    Moved r20 r21 c++
    8
    0 Votes
    8 Posts
    1k Views
    Danchyg1337D
    @m_adam MODELINGCOMMANDFLAGS::NONE works! Thanks again for helping me out!
  • About plugin ids

    14
    0 Votes
    14 Posts
    3k Views
    r_giganteR
    Hi @tokai , nice to see you on the "new" PluginCafé With regard to your first question: Had to reregister (why?) We simply could not take the credentials straight from the old forum to the new one: to say one to dismiss all the sleeping accounts that grew up over the years but also to be sure that our new users were accepting the GDPR. With regard to your second question: OK, so I enter my label as "org.binaryriot.foo.bar" (because org.binaryriot.* would be my domain space) and I'll end up with "orgbinaryriotfoobar". Why? You don't have to enter it in the Label field of the Plugin ID Generation page. As you can see there are two sections: MAXON API suggested domain space: this is a suggested reverse-domain string that should be used by developers to be sure that the strings used for anything connected to MAXON API developement and for the ModuleId used in the projectdefinition.txt of their plugin is UNIQUE to them. This string is created by looking at the Plugincafé member's information and by default it's created by assembling use.yourdomain.<username> to invite members to use non-conflicting names. But if you go into your profile settings and change the website to www.binaryriot.org you'll see that getting back to the Plugin ID generation page the suggested domain will exactly be org.binaryriot.* Plugin ID generation: this is were you're supposed to enter, as in the old plugincafe, an arbitrary label for the plugin your creating - e.g. My Awesome Object Generator* that on pressing the "Get Plugin ID" will provide you with [image: 1588588698361-c8d5188a-21d7-4aa4-8c4d-710a0ac09bc1-image.png] Best and, once more, welcome back.
  • Incorrect File structure

    3
    0 Votes
    3 Posts
    524 Views
    r_giganteR
    Hi @Sadiik , thanks for reaching out us. As already pointed out by @zipit , please refer to Maxon Support to pose questions not development-related. Best, R
  • Tag Copying an Object Along With iT

    4
    0 Votes
    4 Posts
    502 Views
    D
    @zipit Thank you for the info! @m_magalhaes Sorry about that, Manuel. I'll make sure I do that in the future. Dan
  • Solo Toggle

    Moved
    7
    0 Votes
    7 Posts
    1k Views
    M
    Hi the CallCommand is the correct way to go. And @Cairyn it's in the Snap module because it uses some logic that is already implemented in the snap module such as the enabling state or other internal parameters storage logic. So using the CallCommand make sure everything is setup correctly. Note that in the end the solo things are only setting/clearing the NBIT_EHIDE of objects. Cheers, Maxime.
  • Primitive Sketch

    7
    0 Votes
    7 Posts
    1k Views
    M
    Thank you all for your comments and clarification! With all of this extra time at home, I will be going down the path of Python. I found this in c4d.BaseObject in the documentation: import c4d obj = c4d.BaseObject(c4d.Ocube) # Create new cube obj.SetRelPos(c4d.Vector(20)) # Set position of cube doc.InsertObject(obj) # Insert object in document c4d.EventAdd() # Send global event message Now to convert 2D mouse coordinates to 3D and input those (on click) to the obj.SetRelPos(c4d.Vector(x))... I know this is an x,y,z vector, as this code generates the cube at 20,20,20. And it looks like the code works with centimetres, not inches, even if my units are in inches. I may need to do some conversion down the road...
  • Hide a tab group of a resource-based GeDialog

    r20 r21 c++
    8
    0 Votes
    8 Posts
    1k Views
    M
    Hi Frank sorry for the delay needed for this issue, I get the time to look at it, and this is the thing I should have checked first, but either in a GeDialog with a Layout created in a script, I'm not able to hide a tab. Since you said it was working previously, could you confirm you don't want to hide only the content (in your case the 3 StaticText) but also the tab in the tab entry, isn't? If yes could you provide a code sample because I would say even in a normal case I'm not able to reproduce. import c4d class Dlg(c4d.gui.GeDialog): def CreateLayout(self): if self.TabGroupBegin(10001, c4d.BFH_SCALEFIT | c4d.BFV_SCALEFIT, tabtype=c4d.TAB_TABS): if self.GroupBegin(10010, c4d.BFH_SCALEFIT | c4d.BFV_SCALEFIT, 0, title="First Tab"): self.AddStaticText(10011, c4d.BFH_SCALEFIT | c4d.BFV_SCALEFIT, name="Text01") self.GroupEnd() if self.GroupBegin(10020, c4d.BFH_SCALEFIT | c4d.BFV_SCALEFIT, 0, title="Second Tab"): self.AddStaticText(10021, c4d.BFH_SCALEFIT | c4d.BFV_SCALEFIT, name="Text02") self.GroupEnd() self.GroupEnd() self.AddButton(10030, c4d.BFH_SCALEFIT | c4d.BFV_SCALEFIT, name="Remove First Tab") return True def Command(self, id, msg): if id == 10030: print self.HideElement(10010, True) print self.LayoutChanged(10001) return True def main(): global dlg dlg = Dlg() dlg.Open(c4d.DLG_TYPE_ASYNC) # Execute main() if __name__=='__main__': main() To me, the only way to remove a tab is to flush the complete group master of the TabGroup and re-add tabs except for the one you don't want. Cheers, Maxime.
  • Howto map polygon numbers before - after split

    r19 r20 r21 c++
    9
    0 Votes
    9 Posts
    1k Views
    C4DSC
    @m_magalhaes Thanks for the example. I am sure this will be helpful in future, however for now I am still stuck with the classic API to remain backwards compatible. While there isn't a readily available solution to the problem, a few options have been mentioned how to handle this. As such I will set the topic as solved.
  • GetFontDescription() on Windows and Mac

    r21 classic api macos windows c++
    8
    0 Votes
    8 Posts
    1k Views
    I
    Hello to all @zipit said in GetFontDescription() on Windows and Mac: FONT_FLAGS Thank you i miss flags in https://developers.maxon.net/forum/post/58961
  • Online Activation with Vendor Licensing System

    python r21
    4
    0 Votes
    4 Posts
    574 Views
    M
    Hi, without further feedback, I'll set this thread as solved tomorrow. Cheers, Maxime
  • Calling C4D via command line to find prefs folder

    r20 r21
    5
    0 Votes
    5 Posts
    673 Views
    M
    Hi, without further feedback, I'll set this thread as solved tomorrow. Cheers, Maxime
  • Texture file sequence, get exact filename per frame

    c++
    8
    0 Votes
    8 Posts
    1k Views
    F
    @r_gigante Thanks for confirming. We will try to reverse engineer the filenames based on that data. Cheers /Filip
  • Faster way of checking if dialog has closed?

    python
    8
    0 Votes
    8 Posts
    2k Views
    M
    @iluxa7k said in Faster way of checking if dialog has closed?: LP_c_long Long story short it's a pointer http://makble.com/the-story-of-lpclong, and I think the method provided by Zipit is the best one, since as he said there is no way to control the behavior of an external (from your plugin) GeDialog. Cheers, Maxime.