删除多段线中的项目
我有一条多段线,有多行文字和图案填充。我想知道是否可以使用reactor,当调整多段线的大小时,它会删除其中的所有项目(多行文字和图案填充)。
在我的文档中有许多多段线,lisp必须选择选定的多段线。
我无法为给定的多段线设置反应器,因为它可以调整任何多段线的大小
谢谢 使用多段线作为所有者的对象反应器,回调函数在:vlr-modified事件上求值。
然后,在回调函数中,查询多段线的顶点坐标,并使用带有多段线顶点的窗口多边形(WP)选择模式获得驻留在多段线内的所有对象的选择集;删除选择集中的所有对象。
注意,在reactor回调函数中不能使用命令调用。 代码运行::::::::::::::
我需要在程序ReDim之前运行,并在我的案例中选择一行。
(defun c:redim () (vl-load-com)
(setq myLine (vlax-ename->vla-object (car (entsel)))) ; select a block
(setq lineReactor (vlr-object-reactor (list myLine) "Line Reactor" '((:vlr-modified . print-length))))
)
修改行时,他执行打印长度程序,该程序显示行的大小
(defun print-length (notifier-object reactor-object parameter-list)
(cond
((vlax-property-available-p notifier-object "Length")
(alert (strcat "The length is now "
(rtos (vla-get-length notifier-object)))))
)
)
代码字体
http://www.afralisp.net/archive/vl/reactors3.htm
现在,在我的例子中,我只更改多段线,当用户调整相同的大小时,我会发送一个命令图案填充,这是我所需要的。
谢谢大家。
:):):):):)
页:
[1]