SAFINA3D

Update: HNDisabler+

HNDisabler+ is a free Cinema 4D plugin (R13 and +) which allows you to enable, disable and change the visibility of one or multiple objects just by one click.

All objects are grouped by type, so, you can for instance disable all Hypernurbs or Bool objects at the same time, which is useful especially when you work on very heavy scenes.

» Download HNDisabler+



enjoy!


Minesweeper Test in Cinema 4D

Hi,
how to create multidimensional array in python ?
that's what I was looking for :)

in java it's quite easy, for instance, to create Integer array ;
int[][] arrayName = { {0,1,2} , {0,1,2} };  
and to do the same thing in python,
arrayName = map(range,[3] * 2)
print arrayName
# [ [0,1,2], [0,1,2] ] 

to test this, I made a basic version of the Minesweeper game in c4d since we can use 2D array to define the grid. 

here's an example :


done just for fun :)

Update : zArabic 1.3

Hi all,
A long time since my last post, so i decided to start [slowly but surely] by updating some plugins.
first one on the road, zArabic!


so, what's new in this version ?
well,

  • you can use it for both sys Mac and Windows.
  • you can use Harakate / Tachkil when you write.
  • some known bugs corrected.
  • more efficient code.
  • also, you can copy the translated text to oher software such Photohop or AE.
  • etc...


ما الجديد في هذه االنسخة ؟
  • يمكن استخدام المقبس على الماك و الويندوز
  • يمكن استخدام التشكيل عند الكتابة
  • بعض الأخطاء المعروفة تم تصحيحها
  • يمكن تصدير النص الناتج الى برامج أخرى مثل الفوتوشوب أو غيره


» Download zArabic 1.3 for R13/14

» Download zArabic 1.3 for R15 & ++



RandomColor Script

Hi,
I did a quick script to assign a random color to the objects present in the scene. I also added some functions to make it more 'convenient'. now, you can change the color of one/multiple objects, or inversely, disable single/all colors.

Check out the RandomColor plugin version

Download old RandomColor script



 here you can find source of the main Script RandomColor_All :



""" Set a random color to all objects """
import c4d
from c4d import Vector
from random import randint

def get_random_color():
    """ Return a random color as c4d.Vector """
    def get_random_value():
        """ Return a random value between 0.0 and 1.0 """
        return randint(0, 255) / 256.0
    return Vector(get_random_value(), get_random_value(), get_random_value())

def process(fct):
    """ Loop over the current document objects and apply a function to each one """
    def get_next_object(current_object):
        """ Return the next object in the hierarchy """
        if current_object.GetDown(): return current_object.GetDown()
        while not current_object.GetNext() and current_object.GetUp():
            current_object = current_object.GetUp()
        return current_object.GetNext()

    used_colors_list = []
    obj = doc.GetFirstObject()
    while obj is not None:
        doc.AddUndo(c4d.UNDOTYPE_CHANGE, obj)
        fct(obj, used_colors_list)
        obj = get_next_object(obj)

def set_color(obj, used_colors):
    """ Applay a random color to an object """
    color = get_random_color()
    # Check that the current color is not already used
    while color in used_colors:
        color = get_random_color()
    used_colors.append(color)
    # Apply the chosen color to the object
    obj.SetParameter(c4d.ID_BASEOBJECT_USECOLOR, c4d.ID_BASEOBJECT_USECOLOR_ALWAYS, 0);
    obj.SetParameter(c4d.ID_BASEOBJECT_COLOR, color, 0);

def main():
    doc.StartUndo()
    process(set_color)
    doc.EndUndo()
    c4d.EventAdd()

if __name__=='__main__':
    main()

zManipulator v1.0b

Hi!

long time since my last post
well, let's start by new plugin, zManipulator
3 in 1:  you can Move, Rotate & Scale your object with the same tool.
you can also, move the object axis to a vertex, by holding Ctrl  and Left Mouse click.
to center the axis again, just hold Ctrl, and click in an empty space.
it's a beta version, and contains some bugs.
of course, i'm still working on it ^^

>> Download zManipulator v1.0b


hope you'll find it useful!