public void BuildProcessing(ITechProcess techProcess) { try { Acad.Write($"Выполняется расчет обработки по техпроцессу {techProcess.Caption} ..."); var stopwatch = Stopwatch.StartNew(); Acad.DeleteObjects(techProcess.ToolpathObjectIds); Acad.DeleteExtraObjects(); Acad.Editor.UpdateScreen(); techProcess.BuildProcessing(); stopwatch.Stop(); Acad.Write($"Расчет обработки завершен {stopwatch.Elapsed}"); } catch (Autodesk.AutoCAD.Runtime.Exception ex) { techProcess.DeleteProcessCommands(); if (ex.ErrorStatus == Autodesk.AutoCAD.Runtime.ErrorStatus.UserBreak) { Acad.Write("Расчет прерван"); } else { Acad.Alert("Ошибка при выполнении расчета", ex); } } catch (Exception ex) { techProcess.DeleteProcessCommands(); Acad.Alert("Ошибка при выполнении расчета", ex); } Acad.Editor.UpdateScreen(); }
public void DeleteExtraObjects(ITechProcess techProcess) { techProcess.SetToolpathVisible(false); Acad.DeleteExtraObjects(); //Acad.HideExtraObjects(techProcess.ToolpathCurves); }
private void DeleteProcessing(ITechProcess techProcess) { Acad.DeleteObjects(techProcess.ToolpathObjectIds); Acad.DeleteExtraObjects(); techProcess.DeleteProcessCommands(); }