请教插入块的问题
Private Sub Command1_Click()AppActivate objCad.Caption
Dim p1
'On Error GoTo err1
p1 = ThisDrawing.Utility.GetPoint(, "请指定插入点<0,0>:")
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文件中有若干个块,我选择其中的某个块,插入到别一个图形文件?该如何实现呢?
望高手指点!
楼主 用了你的代码我把jt.dwg保存为2004的文件格式
打开CAD2012插入jt.dwg文件出现错误,怎么回事
提示实时错误91
对象变量或with块变量未设置
有没有动态图看看 怎么用 代码没问题是我这里错了 先打开有块的文件,过滤到要插入的块,然后插入到图形。 如果是实例,在获得块对象后,使用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])
插入图形文件或当前图形中已定义的命名块。
具体说明请看手册。
手册是免费下载的,这点明镜通道做的很好。
vbcad 发表于 2014-5-20 22:06 static/image/common/back.gif
如果是实例,在获得块对象后,使用object.InsertionPoint 的方法就可以插入了。
在“明经翻译的《ActiveX...
这是"插入图形文件或当前图形中已定义的命名块。"
你看看我的问题,"在jt.dwg文件中有若干个块,我选择其中的某个块,插入到别一个图形文件?" 在论坛里找到,高人很多呀http://bbs.mjtd.com/thread-6098-1-1.html 能不能在插入后,直接分解这个块呢? 我是想当前块插入后,直接就炸开,因为图里其他的块不需要炸开 dim objBref as acadblockreference
set objBref= ThisDrawing.ModelSpace.InsertBlock( p1, App.Path & "\jt.dwg", dblSignRatio, dblSignRatio, 1, 0)
objbref.explode zzyong00 发表于 2016-1-28 22:32 static/image/common/back.gif
dim objBref as acadblockreference
set objBref= ThisDrawing.ModelSpace.InsertBlock( p1, App.Path & " ...
谢谢,搞定了
页:
[1]
2