峨眉峰 发表于 2011-7-2 10:52:41

跪求高手解决此问题,谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢

vb.net调用autocad是实体对象是老是出现这个问题,该怎么解决?


    使用这个是:For Each Entity In AcadApp.ActiveDocument.ModelSpace
    出现以下错误:
无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型“Autodesk.AutoCAD.Interop.AcadUtility”。此操作失败的原因是对 IID 为“{FE10C869-D8DB-441A-8859-9F2AC607E035}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 不支持此接口 (异常来自 HRESULT:0x80004002 (E_NOINTERFACE))。

single-yu 发表于 2011-7-6 21:28:38

你怎么还在用COM呀!用COM的过时了,现在直接用DLL,直接在CAD里加载即可!            Using trans As Transaction = db.TransactionManager.StartTransaction
                Dim bt As BlockTable = trans.GetObject(db.BlockTableId, OpenMode.ForRead)
                Dim btr As BlockTableRecord = trans.GetObject(bt.Item(BlockTableRecord.ModelSpace), OpenMode.ForWrite)
                For Each Id As ObjectId In btr
                  Dim obj As DBObject = trans.GetObject(Id, OpenMode.ForRead)
                  ed.WriteMessage(vbCrLf & obj.GetType.ToString)
                Next
            End Using

齐天大圣3386 发表于 2011-7-8 19:57:06

我把VBA转成VB.NET时,好象出现过这个问题,但是现在忘了当时是怎么解决的了。

峨眉峰 发表于 2011-10-17 12:48:02

谢谢你们的回答,我在看看
页: [1]
查看完整版本: 跪求高手解决此问题,谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢