makelovew123 发表于 2009-1-15 20:33:00

VB 中如何炸开图纸里所有块

VB 中如何炸开图纸里所有块

dbczhaoy 发表于 2009-1-15 21:22:00

弄个块选择集,执行炸开命令

makelovew123 发表于 2009-1-16 18:39:00

有代码么?希望大侠们提供一下

dbczhaoy 发表于 2009-1-17 09:40:00

Public Sub ExplodeINSERT()
      On Error Resume Next
      Dim ssetObj As AcadSelectionSet
      If ThisDrawing.SelectionSets.Count = 0 Then
            Set ssetObj = ThisDrawing.SelectionSets.Add("ssetObj")
      Else
            Set ssetObj = ThisDrawing.SelectionSets(0)
            ssetObj.Clear
      End If
         
    Dim gpcode(0) As Integer
    Dim datavalue(0) As Variant
      gpcode(0) = 0
      datavalue(0) = "INSERT"
   
    Dim groupcode As Variant, datacode As Variant
      groupcode = gpcode
      datacode = datavalue
      ssetObj.Select acSelectionSetAll, , , groupcode, datacode
   
    Dim i As Integer
    Dim ENT As AcadEntity
    Dim Qty As Integer
      Qty = 0
      For i = 0 To ssetObj.Count - 1
            Set ENT = ssetObj(i)
                ENT.Explode
                Qty = Qty + 1
         Next i
         MsgBox "炸开" & Str(Qty) & "个块!"
End Sub
试试看!

makelovew123 发表于 2009-1-21 20:40:00

VB中如何使用?

dbczhaoy 发表于 2009-1-23 13:16:00

请抽出点时间阅读CAD帮助文件,你的问题都可以解决。

makelovew123 发表于 2009-2-11 21:05:00

大侠们帮帮忙

fjfhgdwfn 发表于 2009-2-12 11:07:00

VBA代码转VB在网上找找吧!有很简单的方式的

liuzpzp007 发表于 2012-7-12 16:01:00


为什么块复制在别的地方炸开啊

sscylh 发表于 2012-9-11 19:06:00


(defun c:lsp()
    (setq ss (ssget "x" '((0 . "insert"))))
    (setq i 0)
    (repeat (sslength ss)
         (setq en (ssname ss i))
         (command "explode" en)
         (setq i (+ i 1))
    )
)   
页: [1]
查看完整版本: VB 中如何炸开图纸里所有块