乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 204|回复: 9

请教插入块的问题

[复制链接]

23

主题

561

帖子

13

银币

中流砥柱

Rank: 25

铜币
653
发表于 2014-5-15 13:30:00 | 显示全部楼层 |阅读模式
Private Sub Command1_Click()
    AppActivate objCad.Caption
    Dim p1
  '  On Error GoTo err1
    p1 = ThisDrawing.Utility.GetPoint(, "请指定插入点:")
    If IsEmpty(p1) Then
        'ReDim P1(2)
        p1 = Array(0, 0, 0)
    End If
        '开始绘制
        If ThisDrawing.ActiveSpace = 1 Then
            ThisDrawing.ModelSpace.InsertBlock p1, App.Path & "\jt.dwg", dblSignRatio, dblSignRatio, 1, 0
        Else
            ThisDrawing.PaperSpace.InsertBlock p1, App.Path & "\jt.dwg", dblSignRatio, dblSignRatio, 1, 0
        End If
err1:
    Debug.Print Err.Description
    If Err.Number = -2145320928 Then Resume Next
    Err.Clear
End Sub
以上代码为在一张图中插入jt.dwg 文件,使jt.dwg文件内容成为一个块!
我的问题是,有没有这种可能,在jt.dwg文件中有若干个块,我选择其中的某个块,插入到别一个图形文件?该如何实现呢?
望高手指点!
回复

使用道具 举报

13

主题

59

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2014-5-18 11:02:00 | 显示全部楼层
先打开有块的文件,过滤到要插入的块,然后插入到图形。
回复

使用道具 举报

13

主题

59

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2014-5-20 22:06:00 | 显示全部楼层
如果是实例,在获得块对象后,使用object.InsertionPoint 的方法就可以插入了。
在“乐筑天下翻译的《ActiveX 和 VBA 参考》(对象模型)”下载参考手册就知道了。
如:
指定公差、文字、块或形的插入点。
参阅 | 示例
语法
object.InsertionPoint
object
Attribute, AttributeReference, BlockRef, ExternalReference, MInsertBlock, MText, Shape, Text, Tolerance
使用该属性的对象。
InsertionPoint
Variant[变体] (三元素双精度数组); 可读写
代表插入点的三维 WCS 坐标。
如果是块参照
RetVal = object.InsertBlock(InsertionPoint, Name, Xscale, Yscale, ZScale, Rotation [, Password])
插入图形文件或当前图形中已定义的命名块。
具体说明请看手册。
手册是免费下载的,这点明镜通道做的很好。
回复

使用道具 举报

23

主题

561

帖子

13

银币

中流砥柱

Rank: 25

铜币
653
发表于 2014-5-20 23:42:00 | 显示全部楼层

这是"插入图形文件或当前图形中已定义的命名块。"
你看看我的问题,"在jt.dwg文件中有若干个块,我选择其中的某个块,插入到别一个图形文件?"
回复

使用道具 举报

23

主题

561

帖子

13

银币

中流砥柱

Rank: 25

铜币
653
发表于 2014-5-20 23:48:00 | 显示全部楼层
在论坛里找到  ,高人很多呀
回复

使用道具 举报

3

主题

16

帖子

1

银币

初来乍到

Rank: 1

铜币
28
发表于 2016-1-28 22:08:00 | 显示全部楼层
能不能在插入后,直接分解这个块呢?
回复

使用道具 举报

3

主题

16

帖子

1

银币

初来乍到

Rank: 1

铜币
28
发表于 2016-1-28 22:25:00 | 显示全部楼层
我是想当前块插入后,直接就炸开,因为图里其他的块不需要炸开
回复

使用道具 举报

23

主题

561

帖子

13

银币

中流砥柱

Rank: 25

铜币
653
发表于 2016-1-28 22:32:00 | 显示全部楼层
dim objBref as acadblockreference
set objBref= ThisDrawing.ModelSpace.InsertBlock( p1, App.Path & "\jt.dwg", dblSignRatio, dblSignRatio, 1, 0)
objbref.explode
回复

使用道具 举报

3

主题

16

帖子

1

银币

初来乍到

Rank: 1

铜币
28
发表于 2016-1-28 22:47:00 | 显示全部楼层

谢谢,搞定了
回复

使用道具 举报

14

主题

52

帖子

8

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
109
发表于 2018-10-11 14:27:00 | 显示全部楼层
楼主 用了你的代码我把jt.dwg保存为2004的文件格式
打开CAD2012插入jt.dwg文件出现错误,怎么回事
提示实时错误91
对象变量或with块变量未设置
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2024-11-22 05:35 , Processed in 0.160371 second(s), 72 queries .

© 2020-2024 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表