明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1609|回复: 8

难道真的不行吗?

[复制链接]
发表于 2003-3-25 11:25:00 | 显示全部楼层 |阅读模式
难道真的不能在R14中用 object.InsertBlock 方法插入图形文件吗?如果不行,能告诉我用什么方法可以插入呢?谢谢!!急!!
发表于 2003-3-26 18:23:00 | 显示全部楼层

如果当前图形没有你插入的块,你只有插入图形文件了。

即在插入的时候带上图形文件全名,如:
Set Temp = MoSpace.InsertBlock(Pnt, "块名", map_Scale, map_Scale, map_Scale, 0)
If Err.Number = -2147418113 Then
   Set Temp = MoSpace.InsertBlock(Pnt, App.Path & "\块名.Dwg", map_Scale, map_Scale, map_Scale, 0)
End If
其中Pnt为插入点坐标,map_Scale是插入比例,如果在R14中,只需要2个即可。

本帖子中包含更多资源

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

x
 楼主| 发表于 2003-3-27 08:34:00 | 显示全部楼层

好象没有反应

用了你说的方法,但是程序执行后,R14元任何反应。但是其他的方法都可以实现,也未发现有错误提示。
发表于 2003-3-27 08:37:00 | 显示全部楼层

请保证外部DWG文件的存在

不会的,在R14中只需要带两个比例,即X、Y。在2000中插入块才有Z比例,一定行的,这是我常用的。另外你一定要保证这个外部DWG文件的存在。
 楼主| 发表于 2003-3-27 08:38:00 | 显示全部楼层

key not found

Err.Description内容为key not found
发表于 2003-3-27 08:40:00 | 显示全部楼层

另外我的代码中的变量你一定要赋值的,坐标,比例,否则当然不洗了。

 楼主| 发表于 2003-3-27 08:44:00 | 显示全部楼层

如下代码有问题吗?

Dim insertpt(0 To 2) As Double
    insertpt(0) = 9#
    insertpt(1) = 0#
    insertpt(2) = 0#
    Dim blockrefobj As Object
    Set blockrefobj = acadapp.ActiveDocument.ModelSpace. _
   InsertBlock(insertpt, "d:\abc.dwg", 1#, 1#, 0)
而且d:\abc.dwg是存在的,
 楼主| 发表于 2003-3-27 14:33:00 | 显示全部楼层

帮助内容为:

Description

Inserts a named block that has been defined in the current drawing.
Inserting a block into another block will create nested blocks.
Note: This method does not have the same functionality as the INSERT command in AutoCAD. While the INSERT command takes a block or a file name, this method can only insert a block that exists in the current drawing.

Syntax

RetVal = object.InsertBlock(InsertionPoint, Name, Xscale, Yscale, Rotation)

Elements

InsertionPoint        Point (three-element array of Doubles); input-only
The location in the drawing to insert the block.
Name        String; input-only
The name of the block existing in the current drawing.
Xscale        Double; input-only; optional
Default equals 1.0. Must be a positive number.
Yscale        Double; input-only; optional
Default equals 1.0. Must be a positive number.
Rotation        Double; input-only; optional
Default equals 0.0 radians.

Return Value

RetVal        BlockRef object
The placed block as a Block Reference object
发表于 2004-2-20 11:08:00 | 显示全部楼层
Dim insertpt(0 To 2) As Double
insertpt(0) = 9#
insertpt(1) = 0#
insertpt(2) = 0#
Dim blockrefobj As Object
Set blockrefobj = acadapp.ActiveDocument.ModelSpace. _
InsertBlock(insertpt, "d:\abc.dwg", 1#, 1#, 0) 这一行错误,应改为 InsertBlock(insertpt, "d:\abc.dwg", 1#, 1#)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 08:38 , Processed in 0.197297 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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