南子 发表于 2003-1-29 17:08:00

在vb中如何实现(ssget "_.i")的功能?[求助]

mccad 发表于 2003-2-1 17:31:00

先选择后操作,我还找不到方法

psulfnpsulfn 发表于 2003-2-3 20:51:00

UTILITY方法就可以啊,

mccad 发表于 2003-2-4 10:34:00

UTILITY方法只可以先操作后选择,不能做到先选择后操作

但可以用LISP和VBA联手的方式写程序,先在LISP中写程序取选择集
(setq mySel(SSGET))
注意SSGET如果不带参数的话,则如果图中有选定对象的话,直接会传给mySel参数,然后通过vlax-vla-object->ename函数将LISP的选择集转化成VBA的选择集,然后再进入启动VBA来执行VBA部分的程序。
其实想用先选择后操作一般都是在程序的开始处就选择对象,这种方法应该可以解决的。

南子 发表于 2003-2-4 16:48:00

thisdrawing.PickfirstSelectionSet,

但是如何启动有对象被选择的事件呢?
Aad2000中的"properties"命令,它是如何实现即时显示被选对象的属性?

mccad 发表于 2003-2-5 10:47:00

用AcadDocument_SelectionChanged()事件,在选择集改变时会触发

mccad 发表于 2003-2-7 16:46:00

写了一个函数,专门用于对象选择

http://www.mjtd.com/function/list.asp?id=285

PSULFNPSULFN 发表于 2003-2-7 20:09:00

不对

才不是,
你说的,只要在程序的开始,使用UTILITY。GET***
方法,就可以了

mccad 发表于 2003-2-7 22:14:00

(ssget "_.i")的功能是在运行程序前就已经选定了对象,而不是程序开始后选择对象

你有没有注意到在AutoCAD中在move、copy等这样的命令执行前,我们经常会先选定了对象然后再输入这些命令,这样刚选定的对象就可以执行刚输入的命令的操作。注意,执行命令前已经选定了对象。

zhuqi75 发表于 2003-2-9 10:58:00

shi

shi de
页: [1]
查看完整版本: 在vb中如何实现(ssget "_.i")的功能?[求助]