CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ActiveX 开发指南

关于重定义块 (VBA/ActiveX)

2023-1-4 19:47| 发布者: admin| 查看: 558| 评论: 0|来自: AutoCAD

摘要: 使用任何 Block 对象方法和属性来重新定义块。

使用任何对象方法和属性来重定义块。Block

重定义块时,图形中对该块的所有参照将立即更新以反映新定义。

重定义会影响块的先前和将来插入。常量属性将丢失并替换为任何新的常量属性。变量属性保持不变,即使新块没有属性也是如此。

重定义块定义中的对象

本示例创建一个块,并在块的定义中添加一个圆。然后将块作为块参照插入到图形中。块定义中的圆将更新,并且块参照将自动更新。

Sub Ch10_RedefiningABlock()
 ' Define the block
 Dim blockObj As AcadBlock
 Dim insertionPnt(0 To 2) As Double
 insertionPnt(0) = 0
 insertionPnt(1) = 0
 insertionPnt(2) = 0
 Set blockObj = ThisDrawing.Blocks.Add _
 (insertionPnt, "CircleBlock")
 
 ' Add a circle to the block
 Dim circleObj As AcadCircle
 Dim center(0 To 2) As Double
 Dim radius As Double
 center(0) = 0
 center(1) = 0
 center(2) = 0
 radius = 1
 Set circleObj = blockObj.AddCircle(center, radius)
 
 ' Insert the block
 Dim blockRefObj As AcadBlockReference
 insertionPnt(0) = 2
 insertionPnt(1) = 2
 insertionPnt(2) = 0
 Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock _
 (insertionPnt, "CircleBlock", 1#, 1#, 1#, 0)
 ZoomAll
 
 ' Redefine the circle in the block,
 ' and update the block reference
 circleObj.radius = 3
 blockRefObj.Update
End Sub

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-11 17:15

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部