乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 67|回复: 1

帮忙看下这段代码。关于修改块属性的,需要优化。

[复制链接]

4

主题

6

帖子

2

银币

初来乍到

Rank: 1

铜币
22
发表于 2015-10-18 19:27:00 | 显示全部楼层 |阅读模式
这段代码在简单的图纸中可以,但是如果图纸很大。一般cad都是好多符图纸,这个过滤机制,就会很慢,基本卡住,求优化!
只在block块中操作的。试过for each block in block这样写代码可是老是出错!帮帮忙!代码如下:
Dim I As Integer
Dim ObjName As String
ObjName = InputBox("请输入一个要重新编号对象的名称")
    With AcadApp.ActiveDocument
    Dim entry As AcadEntity, blk1 As AcadBlockReference, att1 As AcadAttributeReference
    Dim varAttributes As Variant
    Dim strAttributes As String
    For Each entry In .ModelSpace
         If entry.ObjectName = "AcDbBlockReference" Then
          Set blk1 = entry
            If blk1.Name = ObjName Then
                varAttributes = entry.GetAttributes
                varAttributes(0).TextString ="已修改"
            End If
        End If
    Next
    End With
回复

使用道具 举报

23

主题

561

帖子

13

银币

中流砥柱

Rank: 25

铜币
653
发表于 2015-10-18 20:32:00 | 显示全部楼层
比较字符串用strcomp能快点儿
你可以换个思路,用选择集
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-4-20 05:11 , Processed in 0.621357 second(s), 57 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表