乐筑天下

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

特定布局上的块或实体

[复制链接]

9

主题

25

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
61
发表于 2005-9-13 17:35:32 | 显示全部楼层 |阅读模式
我有一个包含多张图纸的图纸(布局1-布局25。)
我在特定布局上创建块选择集时遇到问题。
我正在使用AutoCad 2002。我从
Autocad DXF参考手册中获得了组过滤器代码(410个布局名称)。过滤器代码“410”不起作用。
ReDim intFltrCode(2)As Integer
ReDim varFltrVal(6)As Variant

intFltrCode(0)= 0:varFltrVal(0)= " INSERT " '获取简单块引用
intFltrCode(1)= 2:varFltrVal(1)= " block name " '要获取的块的名称
intFltrCode(2)= 410:varFltrVal(3)= " Layout1 " '仅获取layout 1中的块



有人知道如何使用Lisp和sendcommand在特定布局上创建仅包含块的选择集吗?弗雷德·C

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

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

使用道具 举报

9

主题

25

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
61
发表于 2005-9-13 17:53:33 | 显示全部楼层
放弃410路线...它不起作用...即使是Lisp。
我建议循环每个布局的实体,这样,如果您遇到您的块,您可以立即知道它在哪个布局上...或者...为块创建过滤的选择集,循环选择集并检查块参照的所有者,这样可以确定它是否属于布局。
这里还有一个。通过只查看图纸空间,可以减少选择集中要查看的位置的数量。
下面是一个示例:
  1. Public Sub GrabPaperBlkRefs()
  2.     Dim iDxfCode(0 To 2) As Integer
  3.     Dim vDxfCodeVals(0 To 2) As Variant
  4.     Dim pSelSet As AcadSelectionSet
  5.    
  6.     iDxfCode(0) = 0: vDxfCodeVals(0) = "INSERT"
  7.     iDxfCode(1) = 2: vDxfCodeVals(1) = "YourBlockNameGoesHere"
  8.     iDxfCode(2) = 67: vDxfCodeVals(2) = 1   ' Paperspace
  9.    
  10.     Set pSelSet = ThisDrawing.PickfirstSelectionSet
  11.    
  12.     pSelSet.Select acSelectionSetAll, , , iDxfCode, vDxfCodeVals
  13.    
  14.     MsgBox "Block references found: " & pSelSet.Count, vbInformation, "Block Reference Count"
  15. End Sub

干杯,
格伦。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-4 12:07 , Processed in 0.576055 second(s), 56 queries .

© 2020-2025 乐筑天下

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