zcmfk 发表于 2010-8-19 08:32:00

如何将cad图元的Handle值转化为CAD实体?

VB6应用ActiveX开发时 可通过HandletoObject方法将cad图元的Handle值转化为CAD实体(Object) 。
      请问:而今NET开发又是如何将cad图元的Handle值转化为CAD实体?

雪山飞狐_lzh 发表于 2010-8-19 11:36:00

public ObjectId GetObjectId(Database db, string handleString)
      {
            long l = Convert.ToInt64(handleString, 16);
            Handle handle = new Handle(l);
            return db.GetObjectId(false, handle, 0);
      }

zcmfk 发表于 2010-8-19 14:47:00

   我采用Convert C# to VB.NET工具将版主的函数转换如下:
   Public Function GetObjectId(ByVal db As Database, ByVal handleString As String) As ObjectId
      Dim l As Long = Convert.ToInt64(handleString, 16)
      Dim handle As New Handle(l)
      Return db.GetObjectId(False, handle, 0)
    End Function
请问版主:
   转换后正确吗?
   能否列出具体调用该函数的例子?

chpmould 发表于 2010-11-2 22:06:00

目前还看不懂

xiwuchen@qq 发表于 2010-11-20 15:27:00

很好,今天用上了

yxr_MJTD 发表于 2010-12-8 20:06:00

学习了!又学到一招。

arxnew 发表于 2010-12-9 08:55:00

学习中今天用上了

liuxu042 发表于 2011-10-13 17:52:00

正在学习net开发,问一下高手,如果图幅中不存在此句柄实体,怎么加以判断,恳请帮助
即当图幅中不存在句柄指定handle的要素时,语句db.GetObjectId(false, handle, 0)会发生错误,怎么提前判断实体是否存在呢?

齐天大圣3386 发表于 2011-10-13 21:42:00

Handle值转化的CAD实体(Object),是个怎样的实体?又有什么用处呢?

liuxu042 发表于 2011-10-14 08:57:00

有些项目客户检查数据时会将错误实体的句柄告诉我们,下一步我们就要通过句柄将这些实体查找出来,但是可能有些时候数据发生变动了,一些句柄的实体不存在了,使用语句db.GetObjectId(False, handle, 0)就会发生错误,想知道怎么样判断此句柄的实体存不存在?当不存在是,再次查找下一句柄实体要素(句柄很多,需要依次查找),请告诉指教。
页: [1]
查看完整版本: 如何将cad图元的Handle值转化为CAD实体?