批量删除CAD中块(block)(vba实现,上百个CAD文件一键完成)

         当我们需要删除大量cad文件中的块时,一个一个打开删除关闭,费时又费力。此代码实现了一键删除功能,只需把所有dwg文件放入同一个文件夹,打开cad,alt+F11打开vba开发环境,复制代码,F5运行。(或加载此插件命令栏输入: appload  ,然后加载此dvb文件,输入 vbarun 运行宏即可)。

部分代码如下:


Sub 批量删除块block()
'yngqq443440204
Dim folderPath As String
Dim path As String
Dim counter As Integer
counter = 0 '计数器,记录替换的文字数量
Dim fileName As String
Dim acadDoc As AcadDocument
folderPath = "C:\Users\Administrator\Desktop\新建文件夹" '替换成你的文件夹路径
fileName = Dir(folderPath & "\*.dwg")  '获取文件夹中的DWG文件
Dim ent As AcadEntity
Do While fileName <> ""
  *****省略部分代码
Loop
MsgBox "共删除了 " & counter & " 个块 " & Space(20) & vbCr & "qq", , "版权所有qq:"
End Sub





由下图可知,共删除了文件夹内cad文件3个块。

删除dxf中的块




Sub 批量删除块block()
On Error Resume Next
Dim folderPath As String
Dim path As String
Dim counter As Integer
counter = 0 '计数器,记录替换的文字数量
Dim fileName As String
Dim acadDoc As AcadDocument
folderPath = "C:\Users\Administrator\Desktop\718\难\dxf"
fileName = Dir(folderPath & "\*.dxf")  '获取文件夹中的DWG文件
Dim ent As AcadEntity
Do While fileName <> ""
   ****省略部分代码
Loop
MsgBox "共删除了 " & counter & " 个块 " & Space(20) & vbCr & "", , "版权所有qq:"
End Sub





  Set acadDoc = Documents.Open(folderPath & "\" & fileName)
    For Each ent In ThisDrawing.ModelSpace
    If ent.ObjectName = "AcDbBlockReference" Then
        ent.Delete
        counter = counter + 1
    End If
    Next ent
    ThisDrawing.Close
    fileName = Dir()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值