明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1458|回复: 8

怎样去获取一个对象的相关属性[原创]

[复制链接]
发表于 2003-6-8 16:32:00 | 显示全部楼层 |阅读模式
比如说:在一段程序里,
要获得一文字的高度,怎么样出现拾取框让用户去选择任意文字
这个拾取框的单选和多选怎么控制
发表于 2003-6-8 17:30:00 | 显示全部楼层

你需要看看对象模型

 楼主| 发表于 2003-6-8 17:48:00 | 显示全部楼层

请说明一下了,我用了,但都是多选的

Sub Ch4_AddToASelectionSet()
' 创建新的选择集
Dim sset As AcadSelectionSet
Set sset = ThisDrawing.SelectionSets.Add("SS1")

' 提示用户选择对象并将它们添加到选择集中。
' 要完成选择,按回车。
sset.SelectOnScreen

' 在选择集中循环并将每一对象的颜色改为蓝色。
Dim entry As AcadEntity
For Each entry In sset
entry.Color = acBlue
entry.Update
Next entry
End Sub
发表于 2003-6-8 18:08:00 | 显示全部楼层

看看这样



Dim retent As Object
Dim pnt As Variant
Thisdrawing.Utility.GetEntity retent, ont, "提示内容"

选择的对象赋值给retent
 楼主| 发表于 2003-6-8 18:45:00 | 显示全部楼层

可是可以,但有一个问题不能解决

当你没有点到对象时就会报错
如果用出错处理,也就是说你运行一次程序,就一定要选中对象,要不然
就要重新运行。我想这样,当你没有选中对象时可以再选 ,,
可不可以呀
发表于 2003-6-8 19:32:00 | 显示全部楼层

你需要在出错处理时让用户重新选择

 楼主| 发表于 2003-6-8 20:07:00 | 显示全部楼层

但如果要是用户取消了呢,怎么区分这个空值

那用户一旦运行了这个程序,就不能中途取消了,
这样也不完美吧
发表于 2003-6-8 20:22:00 | 显示全部楼层

除了通过出错编号来区分外,还需要根据命令行提示区分

在未选择到对象、或按了回车、或按了空格、或按了取消,出错编号都是-2147352567。
但命令行提示有些不同,如果按了取消则命令行多了*取消*这样的字符(注册如果英文版则为*Cancel*)。所以通过使用
ThisDrawing.GetVariable("lastprompt")
来取得命令行的最后一行就可以确认用户的操作了。
 楼主| 发表于 2003-6-9 11:35:00 | 显示全部楼层

ok

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 16:32 , Processed in 0.260128 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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