Сообщество программистов Autodesk в СНГ

ADN Club => Civil 3D API => Тема начата: trir от 24-05-2018, 13:07:25

Название: Civil 2017: Не могу получить Сечение Section
Отправлено: trir от 24-05-2018, 13:07:25
Civil 3D 2017 зависает на мертво при выполнении следующего кода:
Код - C# [Выбрать]
  1. [CommandMethod("test3")]
  2.         public void test3()
  3.         {
  4.             CivilDocument cdoc = Autodesk.Civil.ApplicationServices.CivilApplication.ActiveDocument;
  5.             AppServ.Document adoc = AppServ.Application.DocumentManager.MdiActiveDocument;
  6.             Editor ed = adoc.Editor;
  7.             PromptEntityOptions peo = new PromptEntityOptions("\nGetSection");
  8.             peo.SetRejectMessage("не то");
  9.             peo.AddAllowedClass(typeof(Autodesk.Civil.DatabaseServices.Section), true);
  10.             PromptEntityResult acSSPrompt = ed.GetEntity(peo);
  11.             while (acSSPrompt.Status == PromptStatus.OK)
  12.             {
  13.                 using (Transaction tr = adoc.Database.TransactionManager.StartTransaction())
  14.                 {
  15.                     ObjectId oid = acSSPrompt.ObjectId;
  16.                     var obj = tr.GetObject(oid, OpenMode.ForRead);
  17.                     tr.Abort();
  18.                 }
  19.             }
  20.         }

Система: W7 SP1
Название: Re: Civil 2017: Не могу получить Сечение Section
Отправлено: Алексей Терно от 24-05-2018, 13:20:50
Он не зависает - он в бесконечном цикле. Замени while на if.
Название: Re: Civil 2017: Не могу получить Сечение Section
Отправлено: trir от 24-05-2018, 13:22:00
во дурак  :'(
Название: Re: Civil 2017: Не могу получить Сечение Section
Отправлено: Александр Ривилис от 24-05-2018, 13:25:37
Код - C# [Выбрать]
  1. tr.Abort();
Я бы это убрал и заменил на tr.Commit() - работать будет быстрее.
Название: Re: Civil 2017: Не могу получить Сечение Section
Отправлено: trir от 24-05-2018, 13:44:55
Можно ли програмно повторить EDITCROSSSECTION?
В Section - SectionPoints только readonly
можно ли их редактировать?
Название: Re: Civil 2017: Не могу получить Сечение Section
Отправлено: Александр Ривилис от 24-05-2018, 14:05:28
можно ли их редактировать?
Я так понимаю, что можно только создать новое сечение: http://help.autodesk.com/view/CIV3D/2018/ENU/?guid=GUID-95139A97-8B1D-4A70-AB96-D8B0349B5268
Название: Re: Civil 2017: Не могу получить Сечение Section
Отправлено: Дмитрий Загорулькин от 24-05-2018, 15:52:58
Тут про сечения обсуждали, может поможет: http://adn-cis.org/forum/index.php?topic=3073.0