gyl 发表于 2010-7-22 00:29:00

如何绘制临时图元?

我需要在屏幕上绘制几个临时图元(圆、直线)作为标记,只要在屏幕上显示即可,不需要保存在到数据库,屏幕刷新(如执行PAN、ZOOM、REGEN等命令)后立即消失,请问如何实现?

雪山飞狐_lzh 发表于 2010-7-22 06:48:00

<p>Editor.DrawVector Method</p>
<p>Editor.DrawVectors Method</p>
<p>可以看下这里的例子</p>
<p><font face="Verdana"><a href="http://bbs.mjtd.com/forum.php?mod=viewthread&tid=82110&amp;star=1#36389">http://bbs.mjtd.com/forum.php?mod=viewthread&tid=82110&amp;star=1#36389</a></font></p>
<p>&nbsp;</p>

gyl 发表于 2010-7-22 23:34:00

<p>用Editor.DrawVector 确实可以在屏幕上做标记,平移视图后该标记消失。</p>
<p>若在绘制第二次标记之前要删除第一次的标记,但是用户没有平移或缩放视图,有什么办法自动消除第一次的标记吗?</p>

雪山飞狐_lzh 发表于 2010-7-23 09:23:00

<p>ed.Regen()</p>
<p>不过在图元较多时可能很慢</p>
<p>试下下面的</p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private static extern Int32 acedRedraw(long[] name, Int32 mode);</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void Redraw()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; acedRedraw(null, 1);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</font></p>

gyl 发表于 2010-7-24 13:33:00

这段代码确实管用,谢谢版主热心指点。
页: [1]
查看完整版本: 如何绘制临时图元?