示例#1
0
        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();
        }
示例#2
0
        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();
        }
示例#3
0
        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();
        }