明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4973|回复: 3

ObjectDbx技术的版本问题?

[复制链接]
发表于 2007-2-6 12:07 | 显示全部楼层 |阅读模式

vb6.0和AutoCAD2006,在工程/引用中也加上了类型库.16。希望自动插入另一个图里的图块,程序如下。问题:说什么实时错误,自动化错误。光标在CreateObject出错

Dim objDbx
Dim elem As Object
Dim blkName As String
Dim blkObj(0) As Object
Dim pnt(0 To 2) As Double
Set objDbx = CreateObject("ObjectDBX.AxDbDocument.16")
        objDbx.Open "c:\yaquan.dwg" 
        For Each elem In objDbx.Blocks'将图形中的块添加到列表中
            If elem.Name = "yq-ls" Then
                blkName = elem.Name
                Exit For
            End If
        Next         
    pnt(0) = 0: pnt(1) = 0: pnt(2) = 0
    Set blkObj(0) = objDbx.Blocks(blkName)
    objDbx.CopyObjects blkObj, obj_ModelSpace
    obj_ModelSpace.InsertBlock pnt, blkName, 1, 1, 1, 0
    '释放内存
    Set elem = Nothing
    Set objDbx = Nothing

发表于 2012-11-18 16:01 | 显示全部楼层
[em0][em0][em0]
发表于 2013-3-28 23:17 | 显示全部楼层
ObjectDBX宿主是AutoCAD,你那种用法在AutoCAD VBA中也许是可以的,但VB6.0中需先建立宿主才能引用,可能的写法是(没有试过):
   Dim AcadApp As Object
   Dim objDbx As Object
   Set AcadApp = CreateObject("AutoCAD.Application.16.2")
   Set objDbx = AcadApp.GetInterfaceObject("ObjectDBX.AxDbDocument.16")
发表于 2020-7-15 16:33 | 显示全部楼层
dbx 依旧好用,感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-19 21:26 , Processed in 1.191374 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表