As I do commercial work I like to take the time to improve my workflow and avoid repetitive tasks, I started making simple Python scripts for C4D and it has now grown to a meaningful set of tools, so I thought it was better to organize and share them.
These scripts provide various functionalities to enhance and speedup workflows. Some are mostly shortcuts to simple tasks.
Script bundle can be downloaded from my Github page



Align Objects XYZ
Align on any axis to minimum or maximum of the selected objects.

Match Objects Position
Match the coordinates of selected objects to the last selected one.


Display Color Tools
Quickly add random colors to selected objects, easily transfer display color from one selection to another.



Align Elements XYZ
Align on any axis to minimum or maximum of the selected elements.

Match Objects Position
Create bounding-box primitives aligned to any axis from object or sub-object selections
Scripts Overview
Animation

AnimCurve Constant
Makes the animation curve constant before and after.

AnimCurve Repeat After
Repeats the animation curve before and after.

PrevRange From Keyframes
Sets the preview range based on the keyframe range of selected objects.

PrevRange From Render
Sets the preview range based on the render settings frame range.
Modeling

Align Selected X
Aligns selected vertices on the X axis.

Align Selected Y
Aligns selected vertices on the Y axis.

Align Selected Z
Aligns selected vertices on the Z axis.

Flatten Polygons
Flattens selected polygons along the specified axis.
Object Manager

Align To Selected
Aligns the first selected object to the second selected object.

Copy Display Color
Copies the display color from the first selected object to the second selected object.

Paste Match Selection
Pastes an object matching the coordinates of the currantly selected object.

Copy Color to Child
Copies the display color from the parent to the children of selected objects.

Random Color Group
Sets a random display color to the current object or tag selection.

Paste Next to
Pastes objects next to the selected object in the object manager. Recommended to use with shortcut

Paste as Child
Pastes objects as children of the current selection. Recommended to use with shortcut

Select Children
Selects the children of the selected objects.

Select Parents
Selects the parent objects of the current selection.

Copy Material Tags Hierarchy
Copies material tags from one hierarchy to another with the same objects.

Hierarchy Move Down
Moves selected objects down in the hierarchy.

Hierarchy Move Up
Moves selected objects up in the hierarchy.

Make Children
Makes selected objects children of the last selected object.

Scene Arrange
Groups objects in the scene into categories under new null objects. Still needs some improvement

Scene Arrange Cloners
Groups each selected cloner and its effectors under a new null object.

Axis To Bottom
Moves the axis of the selected objects to the bottom.

Distribute Objects X
Distributes selected objects along the X axis.

Distribute Objects Y
Distributes selected objects along the Y axis.

Distribute Objects Z
Distributes selected objects along the Z axis.
Render Setup

Render Set 1-1
Sets the render resolution to 1920×1920.

Render Set 16-9
Sets the render resolution to 1920×1080.

Render Set 9-16
Sets the render resolution to 1080×1920.

Render Set Current Frame
Sets the frame range to “Current Frame”.

Render Set Preview Range
Sets the frame range to “Preview Range”.

Render Set Resolution Div/2
Divides the current render resolution by 2.

Render Set Resolution Mult/2
Multiplies the current render resolution by 2.

Render Set Save ON/OFF
Toggles the render save option on/off.

Set FPS
Sets the project frames per second.

Sampling CTRL
Multiplies by x2 the “Unified Max Samples” Sampling overrides and Brute Force Rays. If “Sampling Overrides” are higher than Unified Max Samples it will multiply this value by x2, otherwise it will take Max Samples value – If ALT is pressed, the sampling values are halved; instead of doubled.

Quick Redshift Render Setting Preset
Configures the Redshift renderer to a Basic quick render setting:

Set Take Frame Range Selected
Sets the take frame range based on the selected objects first and last keyframes on the timeline.

Bucket 64
Sets the Redshift bucket size to 64.

Bucket 128
Sets the Redshift bucket size to 128.

Bucket 256
Sets the Redshift bucket size to 256.

Bucket 512
Sets the Redshift bucket size to 512.

Cutoff Thresholds Q
Sets the cutoff thresholds for Redshift renderer to 0.01 to speedup rendering. Use with Caution may introduce fireflyes in certain scenarios

Sampling Threshold 0.005
Sets the Redshift sampling threshold to 0.005.

Sampling Threshold 0.01
Sets the Redshift sampling threshold to 0.01.

Sampling Threshold 0.1
Sets the Redshift sampling threshold to 0.1.
Utility

Camera Grid Toggle
Toggles the camera grid on and off. Recommended to use with shortcut

Bounding Box Selected Objects
Creates a bounding box around selected objects.

FFD Selected Objects
Adds an FFD object to selected objects.

FFD to Nulls
Converts FFD points to nulls.

FFD Selected Verts
Adds an FFD object to selected vertices.

Visibility Toggle
Toggles the visibility of selected objects. Recommended to use with shortcut Shift+V

Viewport Clean
Cleans up the viewport by toggling various display options. Recommended to use with shortcut

Icon Set
Manages icon settings.

Vertex Number Select
Selects vertices based on their number.

Vertex Skip Select
Selects vertices with a skip pattern.

Reset Visibility
Resets the visibility of selected objects.

Reset Rotation
Resets the rotation of selected objects.

Reset Position
Resets the position of selected objects to the origin.