I've been having no success with the follow piece of code designed to split a part in half. It runs through fine, but 'myFeature' at the end is null and no split occurs in the model. Can anyone suggest what's wrong?
<span class="lnum"> 1: </span><span class="kwrd">public</span> <span class="kwrd">void</span> SplitAllBodies()
<span class="lnum"> 2: </span>{<span class="lnum"> 3: </span> <span class="rem">// Select the split plane</span>
<span class="lnum"> 4: </span> swDoc.ClearSelection2(<span class="kwrd">true</span>);
<span class="lnum"> 5: </span> <span class="kwrd">bool</span> boolstatus = swDoc.Extension.SelectByID2(<span class="str">"Front Plane"</span>, <span class="str">"PLANE"</span>, 0, 0, 0, <span class="kwrd">true</span>, 0, <span class="kwrd">null</span>, 0);
<span class="lnum"> 6: </span>
<span class="lnum"> 7: </span> <span class="rem">// Establish the result of split</span>
<span class="lnum"> 8: </span> <span class="kwrd">object</span>[] bodyArray = (<span class="kwrd">object</span>[])(swDoc.FeatureManager.PreSplitBody());
<span class="lnum"> 9: </span> swDoc.ClearSelection2(<span class="kwrd">true</span>);
<span class="lnum"> 10: </span>
<span class="lnum"> 11: </span> <span class="rem">// Mark bodies to create</span>
<span class="lnum"> 12: </span> <span class="kwrd">object</span>[] vBodyNames = <span class="kwrd">new</span> <span class="kwrd">object</span>[2];
<span class="lnum"> 13: </span> <span class="kwrd">object</span>[] vBodyOrigins = <span class="kwrd">new</span> <span class="kwrd">object</span>[2];
<span class="lnum"> 14: </span>
<span class="lnum"> 15: </span> vBodyNames[0] = <span class="str">""</span>;
<span class="lnum"> 16: </span> vBodyNames[1] = <span class="str">""</span>;
<span class="lnum"> 17: </span> vBodyOrigins[0] = <span class="kwrd">null</span>;
<span class="lnum"> 18: </span> vBodyOrigins[1] = <span class="kwrd">null</span>;
<span class="lnum"> 19: </span>
<span class="lnum"> 20: </span> DispatchWrapper[] bodiesToMark = (DispatchWrapper[])ObjectArrayToDispatchWrapperArray(bodyArray);
<span class="lnum"> 21: </span> DispatchWrapper[] bodyOrigins = (DispatchWrapper[])ObjectArrayToDispatchWrapperArray(vBodyOrigins);
<span class="lnum"> 22: </span> DispatchWrapper[] bodyNames = (DispatchWrapper[])ObjectArrayToDispatchWrapperArray(vBodyNames);
<span class="lnum"> 23: </span>
<span class="lnum"> 24: </span> <span class="rem">// Create new bodies</span>
<span class="lnum"> 25: </span> Feature myFeature = ((Feature)(swDoc.FeatureManager.PostSplitBody(bodiesToMark, <span class="kwrd">true</span>, bodyOrigins, bodyNames)));
<span class="lnum"> 26: </span> Console.WriteLine(myFeature);
<span class="lnum"> 27: </span>}
<span class="lnum"> 28: </span>
<span class="lnum"> 29: </span><span class="kwrd">public</span> DispatchWrapper[] ObjectArrayToDispatchWrapperArray(<span class="kwrd">object</span>[] SwObjects)
<span class="lnum"> 30: </span>{<span class="lnum"> 31: </span> <span class="kwrd">int</span> arraySize = 0;
<span class="lnum"> 32: </span> arraySize = SwObjects.GetUpperBound(0);
<span class="lnum"> 33: </span> DispatchWrapper[] dispwrap = <span class="kwrd">new</span> DispatchWrapper[arraySize + 1];
<span class="lnum"> 34: </span>
<span class="lnum"> 35: </span> <span class="kwrd">int</span> arrayIndex = 0;
<span class="lnum"> 36: </span> <span class="kwrd">for</span> (arrayIndex = 0; arrayIndex <= arraySize; arrayIndex++)
<span class="lnum"> 37: </span> {<span class="lnum"> 38: </span> dispwrap[arrayIndex] = <span class="kwrd">new</span> DispatchWrapper(SwObjects[arrayIndex]);
<span class="lnum"> 39: </span> }
<span class="lnum"> 40: </span> <span class="kwrd">return</span> dispwrap;
<span class="lnum"> 41: </span>}
