Why the F can I not break apart a polygon model simply !?



In Maya you have ‘Separate’ and ‘Extract’ for Specific sections of polygons you want to separate.

In Cinema you have ‘Split’ and ‘Disconnect’ both of which are useless - Split just duplicates your selection
and Disconnect just temporarily separates a section without being able to create a new object !!? :slight_smile:

I know Cinema is not the best for polygon modelling but this is such a rudimentary thing you need often …


Split does create a new object though; the problem is just that you still have the original polys in the original object.

I probably have a script somewhere which deletes the original polys and switches the focus back to the original object…


Hi Cairyn that’s exactly what is needed - just an option to delete the copy of the split (the original) :slight_smile: maybe sell the coding to Maxon because it is dumb not to have that option - for the rest love cinema 4D in general is really well made and practical also rarely crashes


Ah, found it. It was part of my Patreon in the Python Spoonfed course, section 8 somewhat last year.

While at it, I corrected a little undo issue and split the script into two so you can have either the behavior that the original object stays selected, or the new split-off one gets selected.

But the course is Patron-only, so I had to keep this script on the Patron level too to stay fair. In case you have two bucks left, find the scripts here:


(and a lot of other stuff in other posts)


i don‘t know which version you‘re on but since 22 or 23, not entirely sure, you can simply copy paste polys, or in your case cut/paste. select polygons you want to split, cmd + x, deselect object, cmd + v… you can even paste the polys into any other existing object.


Here is the script I use:

 import c4d
 from c4d import utils

# Splits the current polygon selection into a new object
# and deletes it from the original object

def main():
    old = doc.GetActiveObject()
    c4d.CallCommand(14046, 14046) # Split
    new = doc.GetActiveObject()

# Execute main()
if __name__=='__main__':


There’s a nice little plugin called EasySplit as well: https://fcstudios.gumroad.com/l/cYrNx