乐筑天下

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

如果图层存在,则:

[复制链接]

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2005-2-17 18:06:59 | 显示全部楼层
看起来它会起作用
我真的很感激。
让我去试一试。
我会让您知道它是如何工作的
谢谢
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2005-2-18 08:24:29 | 显示全部楼层
干得好,凯瑞,我很忙,直到今天早上才发帖,你比我快。
回复

使用道具 举报

1

主题

21

帖子

2

银币

初来乍到

Rank: 1

铜币
25
发表于 2005-2-18 08:55:36 | 显示全部楼层
嘿,伙计们,
到目前为止,我真的很感谢你们的帮助。
上面的代码工作得很好,但要么我没有完全按照我需要的方式使用它,要么可能是你们中的一个会有另一个建议。
下面是我正在开发的模块的一个例子
,我正在插入一个块,它是Intercomm符号的图例。
我的菜单宏允许您选择要将块插入到绘图中的比例(在7个左右)。
菜单宏暂停插入,在用户插入块后,Vba模块被触发。
下面的代码(对于每个循环)
对于用户可以选择的每个比例重复,粘贴到
第一个插入的块上太多了,一切都很好。
所以,如果你看下面的对于每个循环,我是说如果块互连的xscale因子为48,那么将层Co-I-SYMB重命名为Co-I-SYMB-48
现在,如果我以不同的比例插入第二个Intercomm(例如96)
它似乎正在经历模块中所有可能的比例因子, 再次看到48,然后我得到重复的记录错误,并且该层保留在Co-I-SYMB
中,我需要以某种方式看到它有一个48,忽略它然后继续到96并创建Co-I-SYMB-96层,依此类推。
因此,我试图按图层名称进行过滤。
如果那一层存在,那就继续前进,但我仍然没有运气
,我希望这有意义吗?
任何帮助将不胜感激
感谢
Mark

  1. Dim Co_Layers As AcadLayers
  2. Dim Intercomm As AcadBlockReference
  3. Dim BlockXScaleFactor As Double
  4. Set Co_Layers = ThisDrawing.Layers
  5. Set Intercomm = ThisDrawing.ModelSpace.Item(Intercomm1)
  6. BlockXScaleFactor = Intercomm.XScaleFactor
  7. If Intercomm.XScaleFactor = 48 Then
  8. For Each Layer In Co_Layers
  9.   If Layer.Name = ("Co-I-SYMB") Then
  10.      Layer.Name = ("Co-I-SYMB-48")
  11.   End If
  12. Next
  13. End If
  14. Exit Sub

回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2005-2-18 11:36:32 | 显示全部楼层
我认为你的问题可能在于你拉比例因子的方式。有没有可能你回到第一块,得到它的比例因子,而不是新的块因子?因此它又看到了48
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-18 00:56 , Processed in 0.393429 second(s), 69 queries .

© 2020-2025 乐筑天下

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