欢迎加我的QQ群:193522571,一起来讨论、交流!

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

posted @ 2021-07-06 10:57  swtool  阅读(131)  评论(0编辑  收藏  举报
欢迎加我的QQ群:193522571,一起来讨论、交流!