Exemple #1
0
        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();
        }
Exemple #2
0
 public void DeleteExtraObjects(ITechProcess techProcess)
 {
     techProcess.SetToolpathVisible(false);
     Acad.DeleteExtraObjects();
     //Acad.HideExtraObjects(techProcess.ToolpathCurves);
 }
Exemple #3
0
 private void DeleteProcessing(ITechProcess techProcess)
 {
     Acad.DeleteObjects(techProcess.ToolpathObjectIds);
     Acad.DeleteExtraObjects();
     techProcess.DeleteProcessCommands();
 }