Community
Hi all,
I'm using the below code for mirroring a Mleader, it works but the issue is that the mleader's text to be mirrored.
I have tried setting system variable "MIRRTEXT" to zero but it still shows mirrored text.
Can somebody please help.
Thanks a lot
I'm using AutoCAD 2015 SP2.
[CommandMethod("MirrorMleader")] public void MirrorMleader() { Document doc = AcadApp.DocumentManager.MdiActiveDocument; Database db = doc.Database; Editor ed = doc.Editor; var result = ed.GetEntity(new PromptEntityOptions("\nSelect a mLeader: ")); if (result.Status != PromptStatus.OK) return; if (result.ObjectId.ObjectClass != RXClass.GetClass(typeof(MLeader))) return; using (Transaction tr = db.TransactionManager.StartTransaction()) { var space = (BlockTableRecord)tr.GetObject(db.CurrentSpaceId, OpenMode.ForWrite); var mleader = (MLeader)tr.GetObject(result.ObjectId, OpenMode.ForRead); Point3d sPt = mleader.GetFirstVertex(0); Line3d yAxis = new Line3d(sPt, sPt.Add(new Vector3d(0, 1, 0))); object mirrText = AcadApp.GetSystemVariable("MIRRTEXT"); AcadApp.SetSystemVariable("MIRRTEXT", 0); MLeader clone = mleader.Clone() as MLeader; clone.TransformBy(Matrix3d.Mirroring(yAxis)); space.AppendEntity(clone); tr.AddNewlyCreatedDBObject(clone, true); AcadApp.SetSystemVariable("MIRRTEXT", mirrText); tr.Commit(); } }