.NET
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
Refresh drawing when modal form is running
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
Hello everyone
Is it possible to refresh drawing content when modal form is running?
I placed sample project in attachment.
There is simple form with only one button.
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Class1.DrawLineOnScreen()
End Sub
After button is pressed, application prompting user for picking 2 points, and draw a line (based on picked points).
Public Shared Sub DrawLineOnScreen()
Dim editor As Editor = Application.DocumentManager.MdiActiveDocument.Edit or
Dim pFirst As PromptPointOptions = New PromptPointOptions("First point: ")
Dim rFirst As PromptPointResult = editor.GetPoint(pFirst)
Dim pSecond As PromptPointOptions = New PromptPointOptions("Second point: ")
Dim rSecond As PromptPointResult = editor.GetPoint(pSecond)
If rFirst.Status = PromptStatus.OK AndAlso rSecond.Status = PromptStatus.OK Then
Dim line As Line = New Line(rFirst.Value, rSecond.Value)
Dim tr As Transaction = Application.DocumentManager.MdiActiveDocument.Tran sactionManager.StartTransaction
Using tr
Dim modelSpace As BlockTableRecord = tr.GetObject(Application.DocumentManager.MdiActive Document.Database.CurrentSpaceId, OpenMode.ForWrite)
modelSpace.AppendEntity(line)
tr.AddNewlyCreatedDBObject(line, True)
tr.Commit()
End Using
End If
End Sub
Problem is that line had been added to transaction (to Model Space block table record) but nothing change on a drawing. Line will appear on a drawing after closing the form.
In opposite situation, without using modal form (only console) everyting works fine.
<CommandMethod("DrawLine", CommandFlags.Modal)> _
Public Sub DrawLine()
Class1.DrawLineOnScreen()
End Sub
Solved! Go to Solution.
Re: Refresh drawing when modal form is running
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
did you tried editor.Regen()
c# sample:
private void Select_Click(object sender, EventArgs e)
{
Document doc = Acad.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
Editor ed = doc.Editor;
using (EditorUserInteraction preventFlikkering = ed.StartUserInteraction(this))
{
PromptPointOptions getPntPrmpt = new PromptPointOptions("\nGet Center");
//Modal Form: will hide because of ed.GetPoint
PromptPointResult getPnt = ed.GetPoint(getPntPrmpt);
ed.WriteMessage("\nPoint: {0}", getPnt.Value);
ed.Regen();
preventFlikkering.End();
}
}
Re: Refresh drawing when modal form is running
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
No, I have no idea about this method. I tried UpdateScreen but it didn't work.
Your post resolved my problem.
Thank You very much.
