几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(VB.NET/C#) (http://www.dimcax.com/hust/forumdisplay.php?f=176)
-   -   【转帖】objectarx.net中定义命令时无法先选择再执行? (http://www.dimcax.com/hust/showthread.php?t=8944)

yang686526 2009-04-20 11:47 AM

【转帖】objectarx.net中定义命令时无法先选择再执行?
 
objectarx.net中定义命令时无法先选择再执行?
www.dimcax.com
objectarx.net中定义命令时无法先选择再执行?
lisp语言中的ssget函数用来获取用户输入的选择集,程序执行到该函数时,如果程序执行前当前有对象被选中,那么ssget函数就把被选中的对象作为选择集返回,如果程序执行前当前没有对象被选中,那么ssget提示用户选择对象,用ssget可以很好的实现先选择后执行或者先执行后选择。 但editor.getselection方法就不行,如果某定义的命令用到了该方法,那么,无论你在命令执行前有无选择对象,命令执行时一律要求选择对象,即只能先执行后选择;我们可以用editor. selectprevious获取上一个选择集,但包含这个方法的命令只能先选择后执行,而且该方法没有过滤器参数,无法过滤对象。能不能有什么办法完成像ssget那样的功能呢? 另外,本来选择集函数在lisp和objectarx开发就是1个函数,有许多参数。但在objectarx.net的api中被分成了很多个方法,如selectall,selectcrossingpolygon,selectcrossingwindow,selectfence,selectimplied,selectlast,selectprevious,selectwindow,selectwindowpolygon,有些方法没有参数,无法过滤,这样使用起来反而不习惯,不如像lisp或objectarx还是封装到1个函数内,将上述select的各种方法作为1个参数,有时候真搞不明白封装api的人怎么会想出来分离出这么多方法来。
你如果要先选择再执行,要在自定义命令,设置参数。 _ public sub impliedpick() '调用你的过程 end sub


所有的时间均为北京时间。 现在的时间是 02:43 AM.