明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1709|回复: 4

入门级问题_如何用VBA的方法将图形中一些实体转化为内部块

[复制链接]
发表于 2006-4-12 15:39:00 | 显示全部楼层 |阅读模式

如题

发表于 2006-4-12 16:15:00 | 显示全部楼层
Copyobjects
 楼主| 发表于 2006-4-13 10:59:00 | 显示全部楼层

copyobjects是用来复制实体用的.

我是想将图形中的一些实体(例如我们已经将他们放在一个选择集中了),做成Block.这个功能就像block命令,选择一些实体,并将他们块.

发表于 2006-4-13 11:37:00 | 显示全部楼层
这是添加对象到图块中的函数,改造一下就可以变成选择集变图块了:
  1. Public Sub AddObjectsToBlock(blkRef As AcadBlockReference, _
  2.             entArray() As AcadEntity,Optional delObj As Boolean = True)
  3.     Dim blkDef As AcadBlock, origin(0 To 2) As Double, i As Long
  4.    
  5.     origin(0) = 0: origin(1) = 0: origin(2) = 0
  6.    
  7.     Set blkDef = ThisDrawing.Blocks(blkRef.Name)
  8.    
  9.     For i = LBound(entArray) To UBound(entArray)
  10.         entArray(i).Move blkRef.InsertionPoint, origin
  11.     Next
  12.    
  13.     ThisDrawing.CopyObjects entArray, blkDef
  14.    
  15.     If delObj Then
  16.         For i = LBound(entArray) To UBound(entArray)
  17.             entArray(i).Delete
  18.         Next
  19.     End If
  20. End Sub
 楼主| 发表于 2006-4-14 10:11:00 | 显示全部楼层
好程序.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-27 04:38 , Processed in 0.180274 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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