Bingo940 发表于 2016-7-5 23:29:34

vba cad 选择集 激活

cad vba里,我新建了一个选择集myss,怎样激活这个选择集里所有的图元,效果就像在cad里直接手动选择一样的?          代码:
         Set myss = ThisDrawing.SelectionSets.Add("myss")
         gpcode(0) = 8: datavalue(0) = "*"
         gpcode(1) = 0: datavalue(1) = "*"
         myss.Select acSelectionSetAll, , , gpcode, datavalue

         效果如照片所示



yzg_208 发表于 2016-8-6 19:49:01

CAD可以传递选择集到VBA,而VBA没有方法传递选择集到CAD。

wyy623 发表于 2018-5-17 18:10:20

就是没有办法吗?

dong20030432 发表于 2018-5-18 17:01:08

方法1:选择完成后,发送命令到CAD,代码:Thsidrawing.SendCommand "(sssetfirst nil (ssget ""P"")) "
方法2:引用VLAX.cls类,运行选择集夹点显示过程

jikasurvey 发表于 2018-7-6 21:08:14

dong20030432 发表于 2018-5-18 17:01
方法1:选择完成后,发送命令到CAD,代码:Thsidrawing.SendCommand "(sssetfirst nil (ssget ""P"")) "
...

以上两个方法好像都不是很理想。
方法1无法重复执行上次命令,
方法2 在命令执行完成后才显示夹点,如果希望在命令执行过程中就显示夹点,可以使用ThisDrawing.Regen acActiveViewport,但这一句又会造成闪屏,不知道大家有没有好的方法。

chixun99 发表于 2023-8-19 17:39:44

本帖最后由 chixun99 于 2023-9-7 16:08 编辑

解决没有?怎么弄好的?

……
自己找了个方法,好像也能用:使用group把选择集图元创建组,然后用组的命令按组名sendcommand进行选择。合适可以使组里所有图元都设置为夹点及高亮。

页: [1]
查看完整版本: vba cad 选择集 激活