当前位置: 代码迷 >> 综合 >> C#ObjectArx Cad通过ObjectID字符串获取ObjectID对象
  详细解决方案

C#ObjectArx Cad通过ObjectID字符串获取ObjectID对象

热度:17   发布时间:2024-01-31 14:21:20.0

       

 /// <summary>        /// /// string转换为ObjectId        /// /// </summary>        /// /// <param name="strId">string</param>       /// /// <returns></returns>        public static ObjectId StringToObjectId(string result){try{//获取其中的纯数字字符串string strId = System.Text.RegularExpressions.Regex.Replace(result, @"[^0-9]+", "");long intId = Convert.ToInt64(strId);//这里的strId是一个纯数字字符串,将其转换成64的long类型,32的会报错    IntPtr init = new IntPtr(intId);//将long类型的intId转换成IntPtr类型的整数            ObjectId obj = new Autodesk.AutoCAD.DatabaseServices.ObjectId(init);//在这就直接转化成ObjectId形式的数据了    return obj;}catch (Exception ex){throw;}}

比如我们要用对象存储实体信息,我们在别的工程(dll)中不想引用cad得dll,ObjetcID又是一个对象,我们可以把它ToString()成一个字符串保存在对象中,它其实就是Cad图形数据库中得一个ID字段(唯一值),后面获取实体就可以通过这个字符串拿到ObjectID对象