Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush Python API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Recent
    • Tags
    • Users
    • Login

    whats wrong with my split code ?

    Scheduled Pinned Locked Moved SDK Help
    5 Posts 0 Posters 432 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H Offline
      Helper
      last edited by

      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

      1 Reply Last reply Reply Quote 0
      • H Offline
        Helper
        last edited by

        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.

        1 Reply Last reply Reply Quote 0
        • H Offline
          Helper
          last edited by

          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..

          1 Reply Last reply Reply Quote 0
          • H Offline
            Helper
            last edited by

            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

            1 Reply Last reply Reply Quote 0
            • H Offline
              Helper
              last edited by

              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. 🙂

              1 Reply Last reply Reply Quote 0
              • First post
                Last post