烟雨.江南 发表于 2007-5-14 17:28:00

[求助]怎么用VBA实现选择集中的实体处于被选中状态?

如题。 我想在VBA程序中实现选中选择集中的实体的功能,就象用鼠标在屏幕上选中实体那样的效果,代码应该怎么写呢? 先按一定的筛选条件,把实体放到一个选择集SelectionSet里,然后想让这些实体在屏幕上显示为被选中状态。 自己翻了好长时间帮助文件,也没找到解决的方法。特来求助,希望能有高人给解答一下。
用哪些VBA代码能让选择集中的实体的显示处于被选中状态? 就是实体上有夹点的状态,如下图:

http://tkfiles.storage.msn.com/x1pjzF2-RYhxRV-J-gbwn4tnGH72VWfAomvyuFED3tq7zFNtUc1aLm_gVudMVZh02b-daz0nUHTOC33MnbEpc1_QD5sGKFj4ptLKfakctPUZvI

Kye 发表于 2018-5-24 13:21:00


谢谢大佬指点,vb6读取图形数据很慢,要是能用lisp去读取,再用Vb6去计算,速度会快点。想用vb中坐标去实现(ssget "_WP" pt_list '((0 . "*TEXT")))将文本传回vb中,想一想这个要求都很变态。用vb6吧,acadSSet.Select 0, pt1, pt2, FilterType:=arrGroupCode, FilterData:=arrDataValue读取速度居然0.02秒,如果读取800个表格单位,结果真悲催

dong20030432 发表于 2018-5-21 16:17:00


13楼的方法是要把代码复制到txt里面,另存为vlax.cls文件,再加载到工程里面,然后把选择集显示夹点的过程放在模块中,在程序中调用。

dong20030432 发表于 2018-5-24 08:43:00


VB6也可以的,我两种都用过。不过13楼的方法兼容性稳定性不是很好,数据大时运行较慢。我说的发送命令的方法效率较高,就是命令行要多显示发送过去的命令。

laoliu09 发表于 2007-5-14 18:59:00

ent.Highlight True
但好像只能亮显,没有出现夹点。

烟雨.江南 发表于 2007-5-15 09:05:00


多谢楼上的能回贴。亮显这个我倒是知道的,但我想要用VBA选中一些特定的实体,然后进行一些手动的操作。所以光是亮显还是不能解决问题。

莫名 发表于 2007-5-15 09:09:00

使用选择集选择指定对象(组),然后可进行手工操作

烟雨.江南 发表于 2007-5-16 07:49:00


能麻烦版主把代码写出来吗?

烟雨.江南 发表于 2007-5-16 10:10:00

如果谁知道用LISP能实现这样的效果,也麻烦提供一下示例代码。先谢谢了。

zhuxuhong 发表于 2007-5-16 17:03:00

;设为选中状态
(defun cc()
(setq ss (ssget))
(sssetfirst ss ss)
)
页: [1] 2
查看完整版本: [求助]怎么用VBA实现选择集中的实体处于被选中状态?