Gene's Cinema4D plugins and scripts

On this page you'll find the plugins that I'm developing, plus some information on updates and some new material I'm working on. Currently the Windows builds for my plugins would be released first, as I don't have my own Mac to compile them with. I am considering getting a small Macbook so I can finally compile builds on my own, but it'll depend on both the demand on my plugins and on my budget. As for versions under r11, I can't find demos and their API/SDK files so I doubt I'd be able to make them... If there's enough demand for it, I might consider making those builds.

For inquiries, personal messages, bug reports, and feature requests you can shoot me an email at



ToothedWheel V2

type: Generator Object

This plugin lets your create gears and other gearlike forms.

I developed this plugin specifically for modelers who need to do polygonal modeling of toothed wheels. The default option for generating gears is to use Cinema4D's built-in Cogwheel Spline and the ExtrudeNURBS. The problem is that NURBS generally cause terrible triangulation, so working with meshes can get really messy. Toothedwheel is set up to generate polygonal meshes with the cleanest topology possible so it's safe to integrate it with other C4D elements without having to make it editable. That means full compatibility with all generators, deformers, and even r12's dynamics system. You can also use ToothedWheel together with c4d-jack's GearBuilder plugin for quick gear setups.

Feature List ›››

☑ internal/external tooth placement.

☑ object 's main axis can be set to ± x/y/z)

☑ bevel for rim and tooth edge.

☑ handle-based controls for gear, with extra visual aids.

☑ option to have different parameters for each side of gear.

☑ Subdivisions along face and height of gear. (would allow for helical gears by using a twist deformer)

☑ virtually unlimited max tooth count. (tried 50k teeth. works, though it's so dense that individual teeth can't really be seen unless you size it up. but yeah, feel free to try and break it.)

☑ preset teeth shape: box, triangle, involute-like, sawtooth, sprocket, user-generated, null.

☑ generate custom tooth spline based on currently applied tooth shape.

☑ extra options to fine-tune teeth shape without editing reference spline. (taper, skew, scale)

☑ Unlimited point count for teeth profile. Just make sure you use concave shapes to avoid strange meshes.

☑ user-generated teeth can be animateable as long as it is linked.

☑ dragging and dropping of reference spline to transfer tooth profile to other Toothed Wheels

☑ options to reflect the reference spline, or use one side and mirror the other.

☑ deformers, generators, dynamics, modeling objects (boolean, connect, etc.) interact properly without having to make object editable.

☑ Interacts with R12 dynamics right out of the box. Just make sure to set it as a moving mesh.

☑ Works with C4D-Jack's GearBuilder plugin, but with some adjustments. Toothed Wheel's axis should be set to ±z and place in the Radius parameter the number of teeth the Toothed Wheel object has.


• Documentation

Pending updates: none at the moment

You can download the plugin right from this page. It's unlimited for net renders and for demo builds of Cinema4D. But for retail builds, you can opt for a 14-day trial by typing in "DEMO" (without the quotes, just the four letters) in the serials prompt. For a fully unlocked version, you'll have to purchase a serial below. Don't forget that updates and upgrades to future releases of this plugin's free for licensed users.

currently supported versions:

R12: Win and Mac 32-bit, 64-bit

R11.5: Win and Mac 32-bit, 64-bit

R11: Win and Mac 32-bit, 64-bit

last update: June 1, 2011

If you have version 1 installed, delete it first as it uses the same plugin ID. Version 2 uses the same serial as version1, so if you registered before, it should work right away.

ToothedWheel Version 2(Windows) ToothedWheel Version 2(Mac)

In case you need the older version, they're here.

ToothedWheel (Windows) ToothedWheel (Mac)

Please type in your base Cinema4D serial here.
It's the 11-digit code on top of the list when you open the Help>Personalize menu.

And enter your email address below.

Don't forget to double-check your information before sending. I'll be sending you the serial number to register the plugin through email within 48 hours after you make the payment. For clarifications or requests you can send me an email at

It seems that handles in R13 have been changed. I'll have to rewrite some code to get it back to full compatibility.

UberTracer (free)

type: Generator Object

Extends the feature set of the MoGraph Tracer, allowing for more options in terms of connecting elements

Feature List ›››

☑ Can connect elements of most objects, including polygon and spline points and Thinking Particles

☑ Connect each linked object to all others in a web.

☑ Connect elements of one group only to elements of another group.

☑ Limit web connections based on min/max distance thresholds.

Under Development:

☐ Always access TP, even on Objects mode.

☐ Add randomization to spline connections.

☐ Add randomization to point order in chain/chainloop mode.

☐ Add compatibility with nested particle groups.

☐ Add compatibility with standard particle emitter.

☐ Access subdivided points on splines.

☐ Add option to subdivide UberTracer splines.

Under Consideration for latter versions:

☐ 'Tracer' mode.

☐ Caching of tracer splines.

Further developments for improved compatibility and connection options are ongoing, but donations would let me prioritize on getting these done sooner.


Do not place anything in the UberTracer's Trace Link box that uses the exact same UberTracer as its reference object if you are using Get Points From Elements. This will create a positive feedback loop and eventually cause a stack overflow error.

example: UberTracer is placed under a SweepNURBS. That SweepNURBS is placed in the UberTracer's link. UberTracer would use the points generated by the SweepNURBS to create more splines. SweepNURBS would use the new splines to create more meshes. This goes on until C4D crashes. The only way to completely eliminate this bug is to catch all the Objects that Cinema4D supports, including custom plugins. I'll do what I can to manage at least the common object types. I'll try to catch as many of these as I can.

currently supported versions:

UberTracer r0.7.01

R12: Win and Mac 32-bit, 64-bit

R11.5: Win and Mac 32-bit, 64-bit

R11: Win and Mac 32-bit, 64-bit

last update: June 01, 2011

UberTracer (Windows) UberTracer (Mac)

Hair, Spline Tag, Spline Node... There's an SDK limitation that doesn't let me export spline parameters. I'm trying to figure out some workaround for this.

DupePolysInPlace (free)

type: command script, python

Creates a copy of the selected polygons within the same object.

Either unzip the .py file into your scripts folder, or copy-paste the code below inside C4D's Script Manager

Code: ›››

import c4d
from c4d import gui

def main():
    # change this to another tool you want to macro
    previousTool = doc.GetAction()

    tool = c4d.plugins.FindPlugin(doc.GetAction(), c4d.PLUGINTYPE_TOOL)

    # attributes you want to setup before applying tool
    tool[c4d.MDATA_CLONE_CNT]         = 1
    tool[c4d.MDATA_CLONE_OFFSET]      = 0.0
    tool[c4d.MDATA_CLONE_HOLES]       = 0.0
    tool[c4d.MDATA_CLONE_SCALE]       = 1.0
    tool[c4d.MDATA_CLONE_ROTATION]    = 0.0
    tool[c4d.MDATA_CLONE_LOCALMOVE]   = c4d.Vector(0.0, 0.0, 0.0)
    tool[c4d.MDATA_CLONE_LOCALSCALE]  = c4d.Vector(1.0, 1.0, 1.0)
    tool[c4d.MDATA_CLONE_LOCALROTATE] = c4d.Vector(0.0, 0.0, 0.0)
    tool[c4d.MDATA_CLONE_KEEPFORM]    = True
    c4d.CallButton(tool, c4d.MDATA_APPLY)
if __name__=='__main__':

last update: April 11, 2016