明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1473|回复: 2

求助:关于选择集的程序

[复制链接]
发表于 2009-9-9 20:22:00 | 显示全部楼层 |阅读模式

我写了个保存块的程序,但是保存不了,那位大虾帮帮忙啊!

Private Sub cmdSave_Click()
    Dim uSset As AcadSelectionSet
    Dim iCount As Integer
    Dim AcadObject As AcadBlock
    Dim uBlock(1 To 1) As AcadBlock
    Set uSset = ThisDrawing.SelectionSets.Add("WBLOCKSET10")
    For Each AcadObject In ThisDrawing.Blocks
        If AcadObject.IsLayout = False And AcadObject.Name = ListBox1.Text Then '列表框的内容是要保存的块的名字
            Set uBlock(1) = AcadObject
        End If
    Next
    uSset.AddItems uBlock
    'msgbox uSset.count
    '我作了下测试,uSset.count还是0.那就是说uSset.AddItems uBlock没有添加成功,这事为什么啊?
    ThisDrawing.Wblock "C:\block.dwg", uSset
    uSset.Delete
End Sub

发表于 2009-9-9 20:47:00 | 显示全部楼层

选择集里只能放模型空间和图纸空间的实体

引用ObjectDbx库

Sub tt()

    Dim blk  As AcadBlock
    Set blk = ThisDrawing.Blocks("A")
    Dim arr() As Object
    ReDim arr(blk.Count - 1)
    For i = 0 To blk.Count - 1
    Set arr(i) = blk(i)
    Next
   
    Dim doc As New AxDbDocument
    ThisDrawing.CopyObjects arr, doc.ModelSpace
    doc.SaveAs "d:/11.dwg"

End Sub

 楼主| 发表于 2009-9-20 11:44:00 | 显示全部楼层
非常感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 00:27 , Processed in 0.164607 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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