Py-ParametricTools is a very simple approach to parametric modeling. Based on an idea of my friend Noseman, Py-ParametricTools basically consist of a bunch of generator and modifier objects for a number of commonly used modeling tools. Nothing fancy and easily done in Python, we thought this could still be helpful for some users out there.

There are generators and modifiers for the following modeling tools:

  • Extrude
  • Extrude Inner
  • Normal Move
  • Normal Scale
  • Normal Rotate
  • Reverse Normals
  • Smooth Shift


Cinema 4D R16 and higher. May even work with lower versions, but was never tested.


Simply unzip the downloaded archive into the plugins folder. There’s a palette file included, which can be simply dragged onto Cinema 4D.


The generators and modifiers are used like all the others in Cinema 4D. Generators get parented to objects and modifiers are used as children. The parameters are mainly the same as in the respective modeling tools.
For details see our online help here: Extrude, Extrude Inner, Normal Move, Normal Scale, Normal Rotate, Reverse Normals, Smooth Shift.

Of course generators can be stacked.

All modifiers support selections to restrict them to certain polygons, simply drag the selection tags onto the respective field inside a modifier’s parameters.

The Extrude generator (and only the Extrude generator) also supports two “implicit” selections: front and sides, the later only being available if “Create Caps” is not activated. In order to use these simply drag a material onto the Extrude generator and type either name into the Selection parameter of the Texture tag.


Look at the image “Modifiers restricted to selections” above, where a polygon cube gets deformed by three parametric modifiers, each restricted to a different selection. As long as they have the same polygon count, you could create the polygon selections on a polygonal cube and afterwards drag them to a parametric cube. In this way you have parametric polygon tools deforming only selected polygons of a parameteric cube.

One More Note

As said before, this project really is nothing fancy. But for some it may serve as an example, how easily Python can be used to create a parametric workflow for existing tools. It’s also demonstrating how to re-use existing description resources. (67.0 KiB)

Share this project

Please rate this


  1. Does this work with student versions? I get a unknown file format error when I drag it onto cinema 4d.

    • Which file are you dragging onto C4D? This is a plugin and the archive is supposed to unzipped inside of the plugins folder (see Installation instructions above). The only file inside the archive, that can be dragged to C4D is the layout file, providing you with a button palette, as shown in above screenshots on top of the Object Manager.

  2. These look very handy!

    small issue, how do i access implicit selection from the plugin objects? say i inner extrude all the faces with the deformer. and then i want to only extrude the new faces with the extrude deformer?

    • Unfortunately only the Extrude Generator supports implicit selections. Sorry, if I wasn’t clear about this and raised false expectations. This really is a very simplistic set of tools and for the Extrude Generator it was easy to add, for most others it’s unfortunately not.

    • Here’s the trick.
      Make a copy of your original object, and select all polygons. Make a selection tag from all the polys. Name it something like “Original Polys”. drag the selection on the Original object. Use that selection in the next deformer as it retains the original polys.
      There are some tricks you can do with the correction deformer as well, but I’m working on a tutorial for that.
      tell me if it works for you

    • Thanks, glad you like them.
      Actually I have Py-ParametricSplineTools as well, but these still suffer from some limitations. We’ll see if we can iron those out or if we are willing to also release a bit flawed projects.

      • Correct, no ability to restrict to specific points at this time – by default it affects all points with no tangents.

      • To be honest my spline tools have no restriction feature either… even worse, I didn’t even think of such an option.

      • Hehe, to go even further, making it automatic with angle control like bevel deformer would rock 🙂
        BTW Andreas, I just noticed you are posted this open source, this is beyond cool!

Leave a Reply

Your email address will not be published. Required fields are marked *