找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 922|回复: 6

[求助]:关于选择集

[复制链接]
发表于 2002-12-28 09:14:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
请教各位高手,能不能将图块中的部分实体构成一个选择集?
*************************************
我正在设计一个程序,将一图块中的多行文字取出进行编辑,然后进行更新,请大家帮我想想有没有较好的办法。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 181个

财富等级: 日进斗金

发表于 2002-12-28 09:32:46 | 显示全部楼层
用ThisDrawing.Utility对象的GetSubEntity方法来选择子对象。

  1.   [FONT=courier new]
  2. Sub Example_GetSubEntity()
  3.     ' 这个例子提示用户在屏幕上用鼠标选择一个对象,返回选择的对象的一些信息。
  4.    
  5.     Dim Object As Object
  6.     Dim PickedPoint As Variant, TransMatrix As Variant, ContextData As Variant
  7.     Dim HasContextData As String
  8.    
  9.     On Error GoTo NOT_ENTITY

  10.         
  11. TRYAGAIN:
  12.         
  13.     MsgBox "当提示框消失后,用鼠标在当前图纸的实体上单击进行选择。"
  14.         
  15.     ' 获取选择对象的信息。
  16.     ThisDrawing.Utility.GetSubEntity Object, PickedPoint, TransMatrix, ContextData
  17.    
  18.     ' 显示选择对象的属性。
  19.     HasContextData = IIf(VarType(ContextData) = vbEmpty, " does not ", " does ")
  20.    
  21.     MsgBox "你选择的对象是: " & TypeName(Object) & vbCrLf & _

  22.             "你选择点在: " & PickedPoint(0) & ", " & _
  23.                                               PickedPoint(1) & ", " & _
  24.                                               PickedPoint(2) & vbCrLf & _
  25.             "这个对象" & HasContextData & "有关联对象。"
  26.    
  27.     Exit Sub
  28.    
  29. NOT_ENTITY:
  30.     ' 如果你在空白区单击或者没有选中实体。

  31.     ' 将触发错误。
  32.     If MsgBox("你没选中实体,按 OK 键重试。", _
  33.                vbOKCancel & vbInformation) = vbOK Then
  34.         Resume TRYAGAIN
  35.     End If
  36. End Sub
  37.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-12-28 11:50:15 | 显示全部楼层
多谢版竹。
我指的是图块,不是图块的引用,请问该怎么办?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-12-28 12:14:07 | 显示全部楼层

Tblsearch

在LISP中有函数用于遍历图块中的实体,好象是TBLSEARCH,你
可以查一下函数的使用说明。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-12-28 12:42:58 | 显示全部楼层
遍历图块中的实体会使程序运行很慢,因为这种循环在我的程序中要用许多次,并且图块中只有部分实体(MTEXT)要进行编辑和更新,其它不变,所以我想进行一次遍历图块中的实体,把需要的部分放在一个选择集中,后面的只遍历选择集中的实体即可,这样会大大减少循环次数,不知我的思路是否正确,是否可行。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 181个

财富等级: 日进斗金

发表于 2002-12-28 13:19:27 | 显示全部楼层
更新块中的实体,并不一定要通过块才行,其实对块引用对象的操作将直接反映到块中实体的变更,两者的实质是一样的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-12-29 09:03:59 | 显示全部楼层
多谢各位热心的朋友。
*****************************************
    我想做的是一个表格处理程序,如机械加工过程卡、机械加工工序卡等等。我把这些表格定义成块,在编辑时,从一个列表中选取一种表格名称,程序自动提取图块中的有关内容放入电子表格中,编辑完成后,再更新图块。
    由于这种表格具有固定的格式,所以在更新图块时,图块的数量和内容要随填写内容的变化而变化。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-22 07:03 , Processed in 0.182064 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表