public static void ExtractFacesIntoOneObject(MSelectionList faceList) { if (faceList == null) { return; } MDagPath originDag = new MDagPath(); faceList.getDagPath(0, originDag); Selector selector = new Selector(); selector.SetFromSelection(faceList); MDagPath newDag = BasicFunc.Duplicate(originDag); MSelectionList targetPartInDuplicated = selector.RestoreSelectionOnDag(newDag, true); //new MFnTransform(newDag).setTranslation(new MVector(0, 2, 0), MSpace.Space.kWorld); //BasicFunc.Select(faceList); BasicFunc.DoDelete(faceList); MDagPath dag_targetPartInD = new MDagPath(); MSelectionList invertSelection = BasicFunc.InvertSelect(targetPartInDuplicated, newDag, ConstantValue.PolySelectType.Facet); BasicFunc.DoDelete(invertSelection); }