예제 #1
0
 public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
 {
     Init(commandData);
     using (Transaction tr = new Transaction(doc, "Создание отверстий"))
     {
         UI.IntersectionsForm form = new UI.IntersectionsForm(this);
         if (form.DialogResult == System.Windows.Forms.DialogResult.OK)
         {
             tr.Start();
             var intersections = form.Intersections.Cast <Intersection>().ToList();
             if (form.DoMerge)
             {
                 intersections = Intersection.AutoMerging(intersections, form.MergeTolerance);
             }
             PlaceOpeningFamilies(intersections);
             tr.Commit();
             LoggingMachine.Show();
             return(Result.Succeeded);
         }
         else
         {
             return(Result.Cancelled);
         }
     }
 }
예제 #2
0
파일: HVAC.cs 프로젝트: yazmolod/TerrTools
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            // Стандарт
            doc = commandData.Application.ActiveUIDocument.Document;
            if (!CheckDefaultSharedParameters())
            {
                return(Result.Failed);
            }
            LoggingMachine.Reset();

            List <FamilyInstance> allPlunts = GetPlunts();

            if (allPlunts.Count < 1)
            {
                TaskDialog.Show("Ошибка", "Не найден ни один радиатор");
                return(Result.Failed);
            }
            using (Transaction tr = new Transaction(doc, "Обновление радиаторов"))
            {
                tr.Start();
                SetSpaces(allPlunts);
                tr.Commit();
                tr.Start();
                UpdatePluntData(allPlunts);
                tr.Commit();
                tr.Start();
                UpdatePluntGeometry(allPlunts);
                tr.Commit();
            }

            LoggingMachine.Show();

            return(Result.Succeeded);
        }