private void AddTransient() { if (elevBasePoint != null) { Point3d pos = new Point3d(elevBasePoint.Value.X, elevBasePoint.Value.Y, 0); elevTextTransient = new DBText(); elevTextTransient.Position = pos + Vector3d.YAxis * 0.5; elevTextTransient.ColorIndex = 1; elevTextTransient.TextStyleId = standardTxtStyle; elevTextTransient.TextString = ElevationInput.ToString("f3"); elevTextTransient.Height = 5; elevBasePtTransient = new Polyline(); Point2d pos2d = Utils.Point2DBy3D(pos); elevBasePtTransient.AddVertexAt(0, pos2d, 0, 0, 0); elevBasePtTransient.AddVertexAt(1, pos2d + new Vector2d(0.5, 0.5), 0, 0, 0); elevBasePtTransient.AddVertexAt(2, pos2d + new Vector2d(-0.5, 0.5), 0, 0, 0); elevBasePtTransient.Closed = true; elevBasePtTransient.LineWeight = LineWeight.LineWeight030; elevBasePtTransient.ColorIndex = 1; Graphics.TransientManager tm = Graphics.TransientManager.CurrentTransientManager; tm.AddTransient(elevTextTransient, Graphics.TransientDrawingMode.Highlight, 0, new IntegerCollection()); tm.AddTransient(elevBasePtTransient, Graphics.TransientDrawingMode.Highlight, 0, new IntegerCollection()); } }
private void BaseElevationChanged(object sender, EventArgs args) { //менять текст, отображающий отметку в модели if (elevTextTransient != null) { elevTextTransient.TextString = ElevationInput.ToString("f3"); Graphics.TransientManager tm = Graphics.TransientManager.CurrentTransientManager; tm.UpdateTransient(elevTextTransient, new IntegerCollection()); } }
private void EraseTransient() { if (elevTextTransient != null && elevBasePtTransient != null) { Graphics.TransientManager tm = Graphics.TransientManager.CurrentTransientManager; tm.EraseTransient(elevTextTransient, new IntegerCollection()); tm.EraseTransient(elevBasePtTransient, new IntegerCollection()); elevTextTransient.Dispose(); elevBasePtTransient.Dispose(); elevTextTransient = null; elevBasePtTransient = null; } }
void ClearTransientGraphics() { GI.TransientManager tm = GI.TransientManager.CurrentTransientManager; IntegerCollection col = new IntegerCollection(); if (_markers != null) { foreach (DBObject marker in _markers) { tm.EraseTransient(marker, col); marker.Dispose(); } } }