使用了Highlight() function, 希望把插入的块高亮显示,但是发现不起作用。
查找文档发现问题。
If the entity on which this method is called has its graphics queued for regeneration (that is, changes have been made to the entity but have not yet been reflected on screen), then this method will not cause a highlight to occur. Also, calling this method on an entity that's open for write and whose graphics are queued for regeneration may terminate AutoCAD.
To avoid this limitation, before calling Highlight(), you should flush the entity's graphics by either calling the entity's Draw() method, or calling the TransactionManager.FlushGraphics() function.
可以看出就是说当我的实体(entity)还处在修改的状态时, trans.commit() 函数还没有调用前,调用Highlight函数是不起作用的。ACAD 文档给出的解决办法是使用 Draw()和FlushGraphics() 函数。 我解决这个问题的时候是吧Highlight函数放到了Commit()函数的后面。
本文探讨了在AutoCAD中使用Highlight()函数时遇到的问题,即实体处于修改状态未更新到屏幕时高亮功能失效的情况。文章给出了两种解决办法:调用Draw()方法或使用TransactionManager.FlushGraphics()函数来刷新实体的图形。
7611

被折叠的 条评论
为什么被折叠?



