明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3276|回复: 12

[求助]关于将某文件夹下DWG文件当作块插入当前DWG文件

  [复制链接]
发表于 2008-5-2 10:49:00 | 显示全部楼层 |阅读模式

目的叙述:

将D盘5w.dwg文件当作块插入当前已打开的xyz.dwg文件?

程序内容:

Private Sub Command2_Click()
    Dim blockRefObj As AcadBlockReference
    Dim Pnt(0 To 2) As Double
    Pnt(0) = 2
    Pnt(1) = 2
    Pnt(2) = 0
    Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(Pnt, "D:\5w.dwg", 1#, 1#, 1#, 0)
    blockRefObj.Update
End Sub

出现错误:

实时错误:424  要求对象

(对上述红色区域)

问题请教:

1、以上程序错在那里?怎样修改?

2、如果想在插入时打散(炸开),应怎样修改?

谢谢各位。

发表于 2008-5-2 17:43:00 | 显示全部楼层

炸开  blockRefObj.Explode

可能是你的D盘下没有5W.DWG

我这可以运行。

发表于 2008-5-3 04:45:00 | 显示全部楼层

代码正确,可以运行

Private Sub CommandButton1_Click()
 Dim blockRefObj As AcadBlockReference
    Dim Pnt(0 To 2) As Double
    Pnt(0) = 2
    Pnt(1) = 2
    Pnt(2) = 0
    Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(Pnt, "D:\5w.dwg", 1#, 1#, 1#, 0)
    blockRefObj.Explode
    blockRefObj.Update
End Sub

 楼主| 发表于 2008-5-3 10:49:00 | 显示全部楼层

哦,我忘记告诉大家是在VB中编的,并不是VBA,

请问是不是ThisDrawing出的错?

在VB中当前文件能用ThisDrawing表示吗?

以上代码应怎样修改?盼复!

发表于 2008-5-3 11:27:00 | 显示全部楼层

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=67396

看看这个。再在GOOGLE中搜下VBA VB CAD,网上很多的

发表于 2008-5-3 12:29:00 | 显示全部楼层
本帖最后由 作者 于 2008-5-3 12:47:24 编辑

Public AcadApp As Object
Private Sub Form_Load()
On Error Resume Next
Set AcadApp = GetObject(, "AutoCAD.Application")
If Err Then
   Err.Clear
      Set AcadApp = CreateObject("AutoCAD.Application")
      If Err Then
      MsgBox ("不能运行AutoCAD, 请检查是否安装了AutoCAD")
      Exit Sub
      End If
   End If
AcadApp.Visible = True
End sub

Private Sub CommandButton1_Click()
    Dim blockRefObj As Object
    Dim Pnt(0 To 2) As Double
    Pnt(0) = 2#: Pnt(1) = 2#:  Pnt(2) = 0#
Set blockRefObj = AcadApp.Activedocument.ModelSpace.InsertBlock(Pnt,"D:\5w.dwg",1#, 1#, 1#, 0)
    blockRefObj.Explode
    blockRefObj.Update
End Sub

西北凡人: http://www.abofanyi.com/blog

 楼主| 发表于 2008-5-3 15:51:00 | 显示全部楼层

怎么又出错啊

第一步打开CAD是对的,

第二步插入图块出现:

自参照

的错误,请看看。

盼!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2008-5-3 16:11:00 | 显示全部楼层

可能是你5w.dwg在打开状态吧。

我刚试了没有问题的

 楼主| 发表于 2008-5-3 16:19:00 | 显示全部楼层
本帖最后由 作者 于 2008-5-3 16:23:03 编辑

不会吧,我怎么试着出现了“自参照”(是循环参照)的问题?

你能不能简单做一个如我在7楼的VB程序贴上来?

多谢!

发表于 2008-5-3 16:57:00 | 显示全部楼层
hchm发表于2008-5-3 16:19:00不会吧,我怎么试着出现了“自参照”(是循环参照)的问题?你能不能简单做一个如我在7楼的VB程序贴上来?多谢!

我就是用的你的原程序,什么都没有开。直接打开工程就可以用了

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 09:30 , Processed in 0.264459 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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