乐筑天下

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

查找和替换特定空间中的块

[复制链接]

18

主题

55

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
127
发表于 2006-6-1 18:07:18 | 显示全部楼层 |阅读模式

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2006-6-1 18:16:15 | 显示全部楼层
我查看了插入到PS和MS中的块的属性,没有看到活动空间(因为缺少更好的word)属性
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2006-6-1 18:27:35 | 显示全部楼层
Function IsPs(oBref As AcadBlockReference) As Boolean
Dim oblock As AcadBlock
Set oblock = ThisDrawing.ObjectIdToObject(oBref.OwnerID)
If Not oblock.名称 = “*Model_Space” 则
ISP = True
End if
end function
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2006-6-1 18:33:36 | 显示全部楼层
暗示....实体的所有者是它所在的布局块.....
该死,布瑞克捷足先登了.....但他没有说明它在哪个PS布局中.....
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2006-6-1 18:55:20 | 显示全部楼层
他们俩都抢先了一步。在我测试的过程中,工作突然出现了。像Bryco一样,我没有说明是哪个布局,但我知道的是
If objBlkRef。OwnerID = this drawing . model space . objectid Then
'这是模型空间
Else
'这不是
End if
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2006-6-1 20:10:36 | 显示全部楼层
我认为这样更好,更快。
  1. Private  lngMs As Long  'Put this in the declarations area
  2. Function IsMsBlockref(lngOwner As Long) As Boolean
  3.     If lngMs = 0 Then
  4.         lngMs = ThisDrawing.ModelSpace.ObjectID
  5.     End If
  6.     If lngOwner = lngMs Then IsMsBlockref = True
  7. End Function
  8. Sub TestisModelSpace()
  9.     Dim SS As AcadSelectionSet
  10.     Dim i As Integer
  11.     Set SS = sset(0, "insert")
  12.     For i = 0 To SS.Count - 1
  13.         Debug.Print IsMsBlockref(SS(i).OwnerID), i, SS(i).Name
  14.     Next
  15. End Sub

由于Bob对模型空间的使用优于字符串搜索,因此进行了编辑
回复

使用道具 举报

17

主题

162

帖子

7

银币

后起之秀

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

铜币
234
发表于 2006-6-1 20:14:27 | 显示全部楼层
哦,宝贝叫我杰里米,刚刚注意到我有200多个帖子。
假装是网格铁家伙,把球扔在地上,做一个“滑稽散步部”的散步。
回复

使用道具 举报

17

主题

162

帖子

7

银币

后起之秀

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

铜币
234
发表于 2006-6-1 20:20:19 | 显示全部楼层
这是我替换对象的方法,oBlkRef是要替换的块:
  1. Set oSpace = ThisDrawing.ObjectIdToObject(oBlkRef.OwnerID)
  2. Set oNewBlk = oSpace.InsertBlock(insPt, Name, yada yada......)
  3. 'adjust properties to match original, or use them in the insertion code

现在,我不需要了解我所在空间的任何其他信息。
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2006-6-2 10:49:38 | 显示全部楼层
很好,杰夫。
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2006-6-2 11:29:43 | 显示全部楼层

有一个有趣的散步部?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-5 19:22 , Processed in 0.818542 second(s), 72 queries .

© 2020-2025 乐筑天下

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