AutoCAD.Net/C#.Net QQ群:193522571 当需要把wipeout加入到block中时,必须把wipeout放在objectidcollection中的第一位

                ObjectId idHR = db.CreateWipeOut(mAa, mCa, mDa, mEa, mFa, m7a, m7b, mFb, mEb, mDb, mCb, mAb);
                idHR.MoveBotTo(zMainEntIdsRight);
                idHR.Move(ptCenter, 0, 2 * D);
                zMainEntIdsRight.Insert(0, idHR);

                //
                Point3d pBlkStud = ptCenter.dPolar(0, 2 * D);
                Identify = PartType.GetCurrentPartIdentity() + 1;
                zBlockName = string.Format("zHighPressNutMain-{0}-{1}-{2}", NutSize, NutType, Identify);
                db.AddBlockTableRecord(zBlockName, zMainEntIdsRight, pBlkStud);
                BlockId = db.CurrentSpaceId.InsertBlockReference(CadBaseSet.Draw, zBlockName, pBlkStud, new Scale3d(1), 0);

当需要把wipeout加入到block中时,必须把wipeout放在objectidcollection中的第一位。

因为块的生成原理是,按集合中的先后顺序把objectid放到块定义中,所以第一位的objectid其实是在最底层的,这样才满足我们平时的要求。

原文地址:https://www.cnblogs.com/swtool/p/14975923.html