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


#1

Hi,

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 …


#2

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…


#3

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


#4

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:

https://www.patreon.com/posts/55381750

(and a lot of other stuff in other posts)


#5

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.


#6

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()
    doc.SetActiveObject(old)
    c4d.utils.SendModelingCommand(command=c4d.MCOMMAND_DELETE,
                                  list=[old],
                                  mode=c4d.MODELINGCOMMANDMODE_POLYGONSELECTION,
                                  doc=doc)
    doc.SetActiveObject(new)

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

#7

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