明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2054|回复: 6

求助:VB进行AutoCAD的二次开发的难题

[复制链接]
发表于 2006-11-18 18:54:00 | 显示全部楼层 |阅读模式

我在用VB进行AutoCAD的二次开发中,

想在当前模型的指定位置插入两个已经存在.dwg文件,

我使用的是InsertBlock(insertionPoint,fileName,XScale,YScale,ZScale,RotateAngle)进行操作,

但是这只能确定当前模型的基点,而不能确定.dwg文件的基点。

所以往往出现较的偏差。

我的设想是把.dwg文件设置成块,但是不懂得怎么设置。

试了几种办法也不行。

有谁懂得设置?怎么设置?

或者:

把“当前模型的指定位置插入两个已经存在.dwg文件”这个问题解决?

谢谢!

发表于 2006-11-20 08:46:00 | 显示全部楼层
实际上采用InsertBlock就是插入图块,而任何一个已存在的DWG文件都可以看成一个图块,在向当前模型空间插入图块时,只要求提供插入点,而插入点的位置是图块文件的(0,0)点,所以如何插入的图块出现偏差应将图块文件中的图形的基准点移动到(0,0)位置
发表于 2006-11-20 10:17:00 | 显示全部楼层
没错,就是这样
 楼主| 发表于 2006-11-21 10:40:00 | 显示全部楼层

谢谢!

但是,如何我的图形文件量比较大,是否能够通过VB来实现?比如说用FOR EACH。。。?

怎么实现?

 

 楼主| 发表于 2006-11-21 11:13:00 | 显示全部楼层

详细点,就是在一个文件夹中的所有文件

可以实现统一更改

用什么语法

发表于 2006-11-21 14:29:00 | 显示全部楼层

个人实践总结,插入图纸时,是以插入图纸的(0,0,0)点做为基点插入被插入图形空间的.

按照你的想法要定义一个FOLDERS型的变量,把你的插入图纸所在的路径定义好,就可以用其下的FILES集合进行循环了.

  Dim FSys As New Scripting.FileSystemObject
  Dim DrawFolder As Folder
  Dim DrawName As File
 
  '  strDwgFolder 图纸路径
  If FSys.FolderExists("strDwgFolder") Then
    Set DrawFolder = FSys.GetFolder("strDwgFolder")
    For Each DrawName In DrawFolder.Files
      If                  Then
        ' 插入语句

      End If
    Next
  End If

 楼主| 发表于 2006-11-21 15:43:00 | 显示全部楼层

谢谢,使用中~~

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

本版积分规则

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

GMT+8, 2024-11-26 22:19 , Processed in 0.165633 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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