乐筑天下

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

有时行得通有时行不通

[复制链接]

57

主题

235

帖子

3

银币

后起之秀

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

铜币
463
发表于 2006-6-14 07:07:14 | 显示全部楼层 |阅读模式
我被迷惑了...有时候这种代码是有效的...有时候不会...任何代码更正,使这一功能的所有时间将不胜感激。TIA:难看:
Private Sub cmdChangeVPortLayer _ Click()
Dim vport As AcadPViewport
Dim ol ayout As acad layout
Dim new layer As acad layer
Set new layer = this drawing。Layers.Add("Viewport")
此绘图。ActiveLayer = newLayer。ActiveLayer.Plottable = False。active layer . color = AC green
me . hide
' On Error Resume Next
用于此绘图中的每个布局。布局
如果oLayout。然后
为oLayout中的每个vport命名“Model”。如果vport,则阻止
'将vport更改为驻留在层“视口”上。图层“视口”,然后
vport。layer = " Viewport "
Else
End If
Next ' choke
End If
Next
End Sub

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

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

使用道具 举报

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2006-6-14 07:27:27 | 显示全部楼层
很多人不知道的一件事是,纸空间本身就是一个视角...
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2006-6-14 09:20:00 | 显示全部楼层
它看起来“应该”可以工作,但当然您也可以枚举PS对象或在纸张空间中创建所有视口对象的选择集。可能存在问题的一件事是不规则形状的视口。从程序上讲,它们是被封闭多边形或圆形遮蔽的视口,可能无法识别。
回复

使用道具 举报

4

主题

54

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2006-6-14 09:23:49 | 显示全部楼层
我似乎记得Glenn bloke帮我解决了同样的问题。
文件空间视口总是在各个vps之前制作,因此您可以使用它的id。
  1. Public Sub PViewportsLayer(pLayout As AcadLayout)
  2.      Dim pEnt As AcadEntity, id As Long
  3.      For Each pEnt In pLayout.Block
  4.         If TypeOf pEnt Is AcadPViewport Then
  5.             If id = 0 Then
  6.                 id = pEnt.ObjectID
  7.             Else
  8.                 If pEnt.ObjectID > id Then
  9.                    pEnt.Layer = "Viewport"
  10.                 End If
  11.             End If
  12.         End If
  13.     Next
  14.     Set pEnt = Nothing
  15.     Set pLayout = Nothing
  16. End Sub
  17. Sub Thang()
  18.     Dim l As AcadLayout
  19.     ThisDrawing.LAYERS.Add ("Viewport")
  20.     For Each l In ThisDrawing.Layouts
  21.         If l.ModelType = False Then
  22.             PViewportsLayer l
  23.         End If
  24.     Next
  25. End Sub

回复

使用道具 举报

57

主题

235

帖子

3

银币

后起之秀

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

铜币
463
发表于 2006-6-14 14:54:58 | 显示全部楼层

我知道这看起来只是循环访问块中的视口,但它会遍历块中的每个事物,线条,折线,块引用,你的名字。  如果块中的某些内容不是 AcadPViewport,则可能会收到错误 13,类型不匹配。  
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2006-6-15 07:13:36 | 显示全部楼层
Bryco,
无法让它工作。我希望它在命令(在cmb下)而不是作为潜艇被调用。你能建议吗?
还有人能进一步吗?
回复

使用道具 举报

57

主题

235

帖子

3

银币

后起之秀

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

铜币
463
发表于 2006-6-15 09:33:56 | 显示全部楼层
不太清楚你的意思,但是如果你从表单运行它,只需将名称从sub Thang更改为Private SubcmdChangeVPortLayer_Click(),就可以了。由于Public Sub PViewportsLayer是公共的,它可以在表单中或模块中。
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2006-6-15 11:42:39 | 显示全部楼层
不。在 ADT2005 中仍然不起作用。:realmad:
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2006-6-15 15:34:51 | 显示全部楼层
它会给你一个错误吗?我不知道
“我希望它被命令调用”到底是什么意思。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-5 19:29 , Processed in 1.122802 second(s), 70 queries .

© 2020-2025 乐筑天下

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