internal Document(acadAppSvcs.Document acadDoc) { m_AcadDocument = acadDoc; m_CivilDocument = CivilDocument.GetCivilDocument(m_AcadDocument.Database); m_DocumentLock = null; m_ActiveTransaction = null; }
static public void GetEnt() { AcEd.Editor ed = AcAp.Application.DocumentManager.MdiActiveDocument.Editor; PromptResult rs = ed.GetString("\nВведите метку примитива (в hex-представлении): "); if (rs.Status != PromptStatus.OK) { return; } System.Int64 l = System.Int64.Parse(rs.StringResult, System.Globalization.NumberStyles.HexNumber); AcDb.Handle h = new AcDb.Handle(l); AcDb.Database db = AcDb.HostApplicationServices.WorkingDatabase; AcDb.ObjectId id = db.GetObjectId(false, h, 0); if (!id.IsValid) { ed.WriteMessage("\nОшибочная метка примитива {0}", h); return; } using (AcAp.DocumentLock doclock = ed.Document.LockDocument()) { using (AcDb.Transaction tr = db.TransactionManager.StartTransaction()) { AcDb.Entity ent = tr.GetObject(id, AcDb.OpenMode.ForRead) as AcDb.Entity; if (ent != null) { ed.WriteMessage("\nEntity Class: {0}", AcRx.RXClass.GetClass(ent.GetType()).Name); // Ну и так далее - делаешь с примитивом то, что тебе нужно... } else { ed.WriteMessage("\nЭто не примитив!"); } } } }
/// <summary> /// Добавляем ObjectData-атрибуты к примитиву чертежа /// </summary> /// <param name="wid"> ObjectId примитива </param> /// <param name="wr"> Данные атрибутов </param> /// <param name="wTbl"> Таблица ObjectData </param> public void AddAttr(ObjectId wid, Data.MyRecord wr, Autodesk.Gis.Map.ObjectData.Table wTbl) { AppServ.Document acDoc = AppServ.Application.DocumentManager.MdiActiveDocument; using (AppServ.DocumentLock acLckDoc = acDoc.LockDocument()) { using (Transaction acTrans = acDoc.Database.TransactionManager.StartTransaction()) { using (Record odRecord = Record.Create()) { wTbl.InitRecord(odRecord); FieldDefinition fdef; Data.FieldValue fval; for (int i = 0; i < wTbl.FieldDefinitions.Count; i++) { fdef = wTbl.FieldDefinitions[i]; fval = wr.SearchField(fdef.Name); if (fval != null) { if (!fval.IsGeom) { odRecord[i].Assign(fval.GetString()); } } } wTbl.AddRecord(odRecord, wid); acTrans.Commit(); } } } }
public DocumentLock lockDock() { if (m_DocumentLock == null) { m_DocumentLock = new DocumentLock(this); } return(m_DocumentLock); }
//void RemoveContextMenu() //{ // try // { // if (m_ContextMenu != null) // { // Autodesk.AutoCAD.ApplicationServices.Application.RemoveDefaultContextMenuExtension(m_ContextMenu); // m_ContextMenu = null; // } // } // catch // { } //} private void MenuUserM_OnClick(object Sender, EventArgs e) { //System.Windows.Forms.MessageBox.Show("用户管理"); AcadApp.DocumentLock docLock = AcadApp.Application.DocumentManager.MdiActiveDocument.LockDocument(); // Create(); docLock.Dispose(); }
public static void ShowFrameMenu() { AdeskAppSvr.Document doc = AdeskAppSvr.Application.DocumentManager.MdiActiveDocument; doc.SendStringToExecute("UCS W ", false, false, true);//make current coordinate system to be WCS AdeskAppSvr.DocumentLock docLock = doc.LockDocument(); DigitalSign mDigital = new DigitalSign(); AdeskAppSvr.Application.ShowModalDialog(mDigital); docLock.Dispose(); }
/// <summary> /// show form /// </summary> /// <param name="Sender"></param> /// <param name="e"></param> public static void ShowFrame(Object Sender, EventArgs e) { AdeskAppSvr.Document doc = AdeskAppSvr.Application.DocumentManager.MdiActiveDocument; doc.SendStringToExecute("UCS W ", false, false, true);//make current coordinate system to be WCS AdeskAppSvr.DocumentLock docLock = doc.LockDocument(); NewForm mDigital = new NewForm(); AdeskAppSvr.Application.ShowModalDialog(mDigital); docLock.Dispose(); }