Wow~ Thank you so much bro
I have a GeDialogwindow now. and i want to close it when my mouse click in anywhare.
I can get the mouse click event in GeDialog.Message(), but it's just work inside of dialog.
So i think maybe i need to get the global input event . But i can't find any method in SDK.
How do i do that?
OK~ Thank you so much!
I want to get the shader preview image , but i can't find any method in Python SDK.
So the question is :
is there have some tricks to get shader preview image ?
Another question is :
Is that posible to change Material Preview size before i use BaseMaterial.GetPreview() ?
Because i see the material preview image size is 90*90, it's small to me.
Yes, it's a solution. But it's can not to orbiting the scene or transforming the model.
I think i need to make a desktop application, and make sure the window always on top.
However, this will lead to more work for me.
And thanks to your reply!
Actually, i developed a simple model viewer using PyOpenGL and GLFW(for the window).
And i don't know if i can use CINEMA 4D VIEWPORT(replace the GLFW) to show my own OpenGL things.
So , clearly i need a dockable opengl window. is that possible?
is that posible to attach an OpenGL window to Cinema 4D GUI using python?
if posible , how can i do that?
Wow! you perfectly solved my problem!
I try to get an image from website, And ShowBitmap() in C4D python.
This is my simple code:
from c4d import gui, bitmaps
img = "https://images.pexels.com/photos/10204089/pexels-photo-10204089.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500"
bmp = bitmaps.BaseBitmap()
a,b = bmp.InitWith(img)
if a == c4d.IMAGERESULT_OK:
# Execute main()
Sometimes it can ShowBitmap() correctly like this:
Sometimes it's can show bitmap but the image is not loaded correctly:
And sometimes it's faild! And the InitWith() result is -6
Is there have some right way to show an image from the URL?
Hi @ferdinand , Thank you very much for your detailed reply. I think it is very helpful to me.
I try to register a CommandDataPlugin with PLUGINFLAG_COMMAND_HOTKE flags,
and i assign a shortcut key like this ; .
But when i press the shortcut key anything doesn't happen.
I don't know is i did something is wrong?
How can i do it's work correctly?
And the examle code like this:
def Execute(self, doc):
if __name__ == '__main__':
I see the "hotkey" plugin in cinema 4d like "Move Parent", and the shortcut is "7", and i need to press and hold down the shortcut key to execute the plugin.
(You can see the Type is Hotkey)
So how do i register the "hotkey" plugin in python?
Actually i find some hotkey stuf like Command plugin flag in SDK;
But i am not sure it's what i want, if it's what i want, how do i use it ? and how do i bind the shortcut key for the plugin ?
@ferdinand Thanks to your replay, Some of the features I wanted seemed to be addressed in the R25!
Let's rock and roll for R25!
I put a button in the menu bar and a want the button align to left.
And i use c4d.BFH_LEFT, but the button is still align to right.
Am I using it wrong?
Here is my code:
self.GroupBegin(2000, c4d.BFH_LEFT, 0, 1, "", 0, 0, 0)
self.AddButton(id=1000, flags=c4d.BFH_LEFT, name="Btn")
@ferdinand I will handle it.
Thanks for your help!
@ferdinand Mmmm...I still don't get it... there have a GIF to my problem;
I set the minimum value of height to 400 in the GetMinSize() like this:
return 0, 400
It does create the scrollbar, but the vertical range of the scrollbar is limited to 400,this prevents me from using the scroll bar to scroll down to see my all sunjects in the UserArea.
So how do I set the GetMinSize() so that the scrollbar exactly matches UserArea?
Hello？is anyone here?
I'm trying to change GetMinSize like this;
return 800, 500
it does create the scrollbar, but the vertical range of the scrollbar is limited to the values in GetMinSize, the contents in UserArea are not fully displayed, I'm not quite sure how do I set GetMinSize?
Help me please!
I have custom user area for showing multiple images ( like content browser layout in c4d )
And i want to scroll the user area, so i use ScrollGroupBegin() in CreateLayout() but its not work
Here is example code:
def DrawMsg(self, x1, y1, x2, y2, msg):
self.SetClippingRegion(x1, y1, x2, y2)
self.DrawRectangle(x1, y1, x2, y2)
return self.GetWidth(), self.GetHeight()
UA = MyUa() # UserArea
self.ScrollGroupBegin(5555, c4d.BFH_SCALEFIT | c4d.BFV_SCALEFIT,
self.AddUserArea(6666, c4d.BFH_SCALEFIT | c4d.BFV_SCALEFIT)