给图元添加注释,鼠标掠过的时候显示
<p>很多时候,我们都花时间去核实一下,图里花 的那跟线是哪个楼层的完成面,还是那个分格</p><p>这样既浪费时间也伤神,最近接触了一下反应器,有一个构想,可是没本事实现</p>
<p>就是创建一个永久反应器,输入自己相设定的信息,绑定到图元上,让鼠标掠过图元的时候就动态显示已设定的信息</p>
<p>这样放样,画图的工作就变得轻松得多了</p>
<p>请求论坛的大虾,看谁有空代为编写一个,也好让小弟学习学习</p>
<p>不胜感激</p> yucpp 发表于 2010-7-8 22:36
这个东西我以前设想过,也编过一部分,不过后来由于公司不再需要,就没有做完,程序也丢了。你不需要使用反 ...
牛逼, 好用. 谢谢谢 这个东西我以前设想过,也编过一部分,不过后来由于公司不再需要,就没有做完,程序也丢了。你不需要使用反应器,为实体写入扩展信息的就可; 给某个图形对象添加或提取非图形数据的例程. ; 给某个图形对象添加或提取非图形数据的例程.
(Defun C:TDPut ()
(setq en (car (entsel "\n要加入用户数据的图形对象: "))
en (vlax-ename->vla-object en)
)
(vlax-ldata-put en "UKey2" "用户数据2")
)
(Defun C:TDGet ()
(setq en (car (entsel "\n要提取用户数据的图形对象: "))
en (vlax-ename->vla-object en)
)
(setq udata2 (vlax-ldata-get en "UKey2"))
)
; 给一个图形对象添加AutoLISP表达式,就是将这些表达式"附着"在指定的图形对象上,
; 并且随对象保存.之后,用简单的函数就可以激活这些表达式并且执行.
(Defun C:TDPut1 ()
(setq en (car (entsel "\n要加入应用程序(1)的图形对象: "))
en (vlax-ename->vla-object en)
a (getreal "\nReal: ")
)
(vlax-ldata-put en "UKey1" a)
(vlax-ldata-put en "UKey2"
'(alert (strcat "这个数的平方=" (rtos (* a a))))
)
)
(defun C:TDPut2 ()
(setq en (car (entsel "\n要加入应用程序(2)的图形对象: "))
en (vlax-ename->vla-object en)
a (getstring "\nString: ")
)
(vlax-ldata-put en "UKey1" a)
(vlax-ldata-put en "UKey2" '(alert (strcat "附加说明: " a)))
)
(defun C:TDGet ()
(setq en (car (entsel "\n要运行应用程序的图形对象: "))
en (vlax-ename->vla-object en)
)
(setq a (vlax-ldata-get en "UKey1"))
(eval (vlax-ldata-get en "UKey2"))
) 原来对象可以附加非图形数据的,还可以附带程序,这下可开眼界了,谢谢<font face="Verdana" color="#61b713"><b>yucpp</b></font> 这下可开眼界了,谢谢 <font style="BACKGROUND-COLOR: #ffffff" face="Verdana">要加入用户数据的图形对象: ; 错误: no function definition: VLAX-ENAME->VLA-OBJECT</font> 这是什么原因呢? <p>在程序前加一行(vl-load-com)</p> 学习!!! 小弟学习学习了 谢谢分享,学习了 本帖最后由 BDYCAD 于 2010-12-14 12:52 编辑
以前也曾用借用论坛高手们提供的LISP来改写我应用于鞋业CAD上面的显示,。后来我慢慢学ARX后也用ARX上面的显示,效果如下,:)
页:
[1]
2