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其实是在最底层的,这样才满足我们平时的要求。