static public void delallxdata() { Editor ed = Application.DocumentManager.MdiActiveDocument.Editor; ObjectId id = SelectEntity();//选择实体 if (id == ObjectId.Null) { ed.WriteMessage("\n用户取消操作\n"); return; } XData xdata = new XData(id); if (!xdata.HasXData()) { Tools.WriteMessage("\n该实体不存在扩展数据\n"); return; } xdata.ClearAllXData(); xdata.UpdateXData(); }
static public void delxdataparam() { Editor ed = Application.DocumentManager.MdiActiveDocument.Editor; ObjectId id = SelectEntity();//选择实体 if (id == ObjectId.Null) { ed.WriteMessage("\n用户取消操作\n"); return; } XData xdata = new XData(id); if (!xdata.HasXData()) { Tools.WriteMessage("\n该实体不存在扩展数据\n"); return; } string appName = getAppName();//获取appname if (appName == null) { ed.WriteMessage("\n用户取消操作\n"); return; } if (!XData.IsAppExist(appName)) { Tools.WriteMessage("\n该应用程序名对应的扩展数据不存在\n"); return; } string param = getParam("\n请输入一个参数名称:"); if (param == null) { Tools.WriteMessage("\n用户取消操作\n"); return; } xdata.DeleteXData(param); xdata.UpdateXData(); }
static public void addxdata() { bool isCreateNewXdata = false; Editor ed = Application.DocumentManager.MdiActiveDocument.Editor; ObjectId id = SelectEntity();//选择实体 if (id == ObjectId.Null) { ed.WriteMessage("\n用户取消操作\n"); return; } XData xdata = new XData(id); if (!xdata.HasXData()) { Tools.WriteMessage("\n该实体不存在扩展数据\n"); isCreateNewXdata = AskForCreateXData(); if (!isCreateNewXdata) { Tools.WriteMessage("\n用户选择不创建新的扩展数据,程序结束\n"); return; } Tools.WriteMessage("\n下面的操作将会创建新的扩展数据\n"); } string appName = getAppName();//获取appname if (appName == null) { ed.WriteMessage("\n用户取消操作\n"); return; } string param = null; string value = null; bool isUserCancel = false; if (!XData.IsAppExist(appName)) { Tools.WriteMessage("\n该应用程序名对应的扩展数据不存在\n"); Tools.WriteMessage("\n下面的操作将会注册该应用程序名称,并添加一个新的扩展数据\n"); XData.RegisterApp(appName); } createNewXData(appName, ref xdata);//不管appname存在与否,调用cretaenewxdata都不会产生任何的问题 xdata.setCurrentAppName(appName);//设置当前appname //重复循环,让用户输入扩展数据的参数和值 Tools.WriteMessage("\n继续添加数据\n"); isUserCancel = true; param = null; value = null; while (isUserCancel) { isUserCancel = getParams(ref param, ref value); if (param != null && value != null) { xdata.AddXData(param, value);//添加扩展数据,成对添加 } } xdata.UpdateXData(); }