whats wrong with my split code ?

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 17/10/2008 at 09:34, xxxxxxxx wrote:

User Information:
Cinema 4D Version:    
Platform:      
Language(s) :

---------
Hi,

im having problems using the sendModellingCommand to split an object which has some poys selected.

here's the code:

> \>      ModelingCommandData md1; \>      // obj is a clone of the original object with the poy selection \>      md1.op = obj; md1.doc = doc; \>      //md1.mode = MODIFY_POLYGONSELECTION; \>      if(!SendModelingCommand(MCOMMAND_SPLIT, md1)) goto Error;      \>            \>      AtomArray::Free(md1.result); \>      AtomArray::Free(md1.arr);      \> \>      return; \> \> Error:      \>      GePrint("couldnt split it!");      \>      AtomArray::Free(md1.result); \>      AtomArray::Free(md1.arr); \>

I cant really see whats wrong there.
I always get 'couldnt split it'.

AFAIK the result is stored in md1.op, and not in md1.result. Thats why 'obj' is a clone of the original object.

in the end md1.op is just a copy, bc the split comand failed.

Setting the md1.mode to polyselection doesnt change anything..

anybody has some experience with the split comamnd ?

im using alignnormals and reverse normals in a similar way, and they wotk just fine..

thx,
Daniel

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 17/10/2008 at 09:48, xxxxxxxx wrote:

Is obj in the document? It may be that Split can't work with the object if not inserted. Also, I'm pretty certain that you will want MODIFY_POLYGONSELECTION (or similar) otherwise the default may be MODIFY_ALL which defeats the purpose of split probably.

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 17/10/2008 at 10:39, xxxxxxxx wrote:

if i insert obj into the doc and set the mode to polygonselection, the command doesnt return false anymore.

But the object is not split, it's still the same as before..

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 17/10/2008 at 10:52, xxxxxxxx wrote:

ok it works now, here's the code:

> \> ModelingCommandData md1; \>      // obj is the original object with some selected polys \>      md1.op = obj; md1.doc = doc; \>      md1.mode = MODIFY_POLYGONSELECTION; \>      if(!SendModelingCommand(MCOMMAND_SPLIT, md1)) goto Error;           \>      // this is the split copy \>      BaseObject\* splitObj = static_cast<BaseObject\*>(md1.result->GetIndex(0)); \>      splitObj->SetName("objCopy"); \>      splitObj->InsertAfter(obj); \>            \>      AtomArray::Free(md1.arr); \>      return; \>

looks like the obj to split must be in the doc, and mode must be set to POLYGONSELECTION.

The split result is in md1.result and when i insert that into the doc, i have my copy of the original obj, that just consists of the selected polys.

Thanks kuroyume for your hints.

greetings,
Daniel

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 17/10/2008 at 11:00, xxxxxxxx wrote:

Glad that you have it working. :)