本帖最后由 作者 于 2008-4-18 14:40:01 编辑
Dim strfilename As String '文件名 Dim acadapp As New AcadApplication Dim doc As AcadDocument opfd.ShowDialog() '获取文件名 strfilename = opfd.FileName doc = acadapp.Documents.Open(strfilename) '打开CAD文件 Dim ssetobj As AcadSelectionSet '定义一个选择集 Dim acadent As AcadEntity '定义一个图元实体 Dim adadpl As AcadPolyline ssetobj = acadapp.ActiveDocument.SelectionSets.Add("test") ssetobj.Select(AcSelect.acSelectionSetAll, , , , ) '选择所有实体 For Each acadent In ssetobj If acadent.ObjectName = "AcDbPolyline" Then adadpl = acadent ' 这句出错 End If Next 以上代码的红色部分出错,本人初学,弄了很长时间不知道原因,请高手解答!! 错误原因: 无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型“AutoCAD.AcadPolyline”。此操作失败的原因是对 IID 为“{4D07B3DA-1D65-4D58-967A-E3A02E255EE0}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 不支持此接口 (异常来自 HRESULT:0x80004002 (E_NOINTERFACE))。 |