Beispiel #1
0
        public void Cmd_PartLeader()
        {
            var acCurDoc = Application.DocumentManager.MdiActiveDocument;
            var acCurDb  = acCurDoc.Database;
            var acCurEd  = acCurDoc.Editor;

            try
            {
                Entity jigEnt = MLeaderJigger.Jig();
                if (jigEnt != null)
                {
                    using (var acTrans = acCurDb.TransactionManager.StartTransaction())
                    {
                        var btr = (BlockTableRecord)acTrans.GetObject(acCurDb.CurrentSpaceId, OpenMode.ForWrite);
                        btr.AppendEntity(jigEnt);
                        acTrans.AddNewlyCreatedDBObject(jigEnt, true);

                        var mL = jigEnt as MLeader;
                        if (mL != null)
                        {
                            RcLeader.UpdateLeader(mL, acCurDoc, acCurEd, acTrans);
                        }
                        acTrans.Commit();
                    }
                }
            }
            catch (Exception ex)
            {
                Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage(ex.ToString());
            }
        }
Beispiel #2
0
        public void Cmd_RcUpdate()
        {
            if (!LicensingAgent.Check())
            {
                return;
            }
            var acCurDoc = Application.DocumentManager.MdiActiveDocument;
            var acCurDb  = acCurDoc.Database;
            var acCurEd  = acCurDoc.Editor;

            using (var acTrans = acCurDb.TransactionManager.StartTransaction())
            {
                var objIds = acCurEd.SelectAllOfType("3DSOLID", acTrans);

                using (var pWorker = new ProgressAgent("Updating Solids:", objIds.Length))
                {
                    foreach (var obj in objIds)
                    {
                        if (!pWorker.Progress())
                        {
                            acTrans.Abort();
                            return;
                        }

                        var acSol = acTrans.GetObject(obj, OpenMode.ForRead) as Solid3d;
                        if (acSol == null)
                        {
                            continue;
                        }

                        acSol.Update(acCurDb, acTrans);
                    }
                }

                acCurEd.WriteMessage($"\n{objIds.Length} objects updated.");
                acTrans.Commit();
            }

            RcLeader.UpdateMleaders();
        }
Beispiel #3
0
 public void Cmd_RcUpdLeaders()
 {
     RcLeader.UpdateMleaders();
 }