乐筑天下

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

块问题

[复制链接]

27

主题

103

帖子

7

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2004-5-31 11:45:00 | 显示全部楼层 |阅读模式
请问如何把当前图形中的所有图形做成块,并插入到其他文挡或图形中
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2004-5-31 11:52:00 | 显示全部楼层
Sub test()
Dim ss As AcadSelectionSet
Set ss = ThisDrawing.ActiveSelectionSet
ss.Select acSelectionSetAll
ThisDrawing.Wblock "c:\123.dwg", ss
End Sub
回复

使用道具 举报

27

主题

103

帖子

7

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2004-6-1 10:38:00 | 显示全部楼层
如果我想删除原有的图形,并且最后释放性质集
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2004-6-1 10:50:00 | 显示全部楼层
Sub test1()
Dim ss As AcadSelectionSet
Set ss = ThisDrawing.ActiveSelectionSet
ss.Select acSelectionSetAll
ThisDrawing.Wblock "c:\123.dwg", ss
For Each i In ThisDrawing.ModelSpace
i.Delete
Next i
ss.Clear
ss.Delete
End Sub
回复

使用道具 举报

27

主题

103

帖子

7

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2004-6-1 13:08:00 | 显示全部楼层
复制代码Sub test1()     Dim number As Integer
       Dim ObjSelectionSet As AcadSelectionSet
       i = 0
      
       '获取当前图形中选择集的个数
       number = ThisDrawing.SelectionSets.Count
      
       '删除当前图形中所有的选择集
       While i < number
               Set ObjSelectionSet = ThisDrawing.SelectionSets.Item(0)
               ObjSelectionSet.Delete
               i = i + 1
       Wend
Dim ss As AcadSelectionSet
Set ss = ThisDrawing.ActiveSelectionSet
ss.Select acSelectionSetAll
ThisDrawing.Wblock "c:\123.dwg", ss
For Each i In ThisDrawing.ModelSpace
i.Delete
Next i
ss.Clear
ss.Delete
End Sub前面加上选择集的代码,我再想问一下飞狐兄,如果我想把前面的块,插到新的图形中(在同一文挡),怎么知道这个块的插入点?怎么实现。急用!
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2004-6-1 13:51:00 | 显示全部楼层
插入点0,0试试
回复

使用道具 举报

27

主题

103

帖子

7

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2004-6-1 15:09:00 | 显示全部楼层
如何知道当前图元的COUNT,
如何知道当前说选图形的Item(),怎么返回此对象
回复

使用道具 举报

26

主题

589

帖子

10

银币

中流砥柱

Rank: 25

铜币
693
发表于 2004-6-1 17:26:00 | 显示全部楼层
ThisDrawing.ModelSpace.Count当前图纸模型空间中的实体数目。
ThisDrawing.PickfirstSelectionSet当前选中实体所在的选择集。
如果只有选中一个实体,可以
Dim EntObj As AcadEntity
Set EntObj=ThisDrawing.PickfirstSelectionSet(0)
回复

使用道具 举报

27

主题

103

帖子

7

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2004-6-1 18:37:00 | 显示全部楼层

我想说的如何知道自己所画的图元是ITEM,就是第几个
通过知道它是第几个,然后选定它,并返回做下面的MIRROR或其他操作
回复

使用道具 举报

27

主题

103

帖子

7

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2004-6-1 18:49:00 | 显示全部楼层
Sub test1()     Dim number As Integer
       Dim ObjSelectionSet As AcadSelectionSet
       j = 0
      
       '获取当前图形中选择集的个数
       number = ThisDrawing.SelectionSets.Count
      
       '删除当前图形中所有的选择集
       While j < number
               Set ObjSelectionSet = ThisDrawing.SelectionSets.Item(0)
               ObjSelectionSet.Delete
               j = j + 1
       WendDim ss As AcadSelectionSet
Set ss = ThisDrawing.ActiveSelectionSet
ss.Select acSelectionSetAll
ThisDrawing.Wblock "c:\123.dwg", ss
For Each I In ThisDrawing.ModelSpace
I.Delete
Next I
ss.Clear
ss.Delete
End Sub[CODE][/CODE]上面这段代码怎么只能运行一遍,第二次就出现错误,[SHADOW=255,blue,1]文字[/SHADOW]运行到Set ss = ThisDrawing.ActiveSelectionSet提示出错了??
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-15 17:34 , Processed in 0.352710 second(s), 72 queries .

© 2020-2025 乐筑天下

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