Создание уровней

Автор Тема: Создание уровней  (Прочитано 2836 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ArtАвтор темы

  • ADN OPEN
  • Сообщений: 22
  • Карма: 0
Создание уровней
« : 24-09-2018, 05:23:24 »
Пытаюсь создать уровень и стену на нем в Revit кодом ниже. Код взят из справки. Выдает ошибку Attempt to modify the model outside of transaction. Подскажите, какой логикой я должен действовать, чтобы без проблем создавать объекты и взаимодействовать с ними? И что мне нужно добавить в код, чтобы все работало?

Код - C# [Выбрать]
  1. Autodesk.Revit.ApplicationServices.Application app = commandData.Application.Application;
  2. Document activeDoc = commandData.Application.ActiveUIDocument.Document;
  3. XYZ start = new XYZ(0, 0, 0);
  4. XYZ end = new XYZ(10, 10, 0);
  5. Line geomLine = Line.CreateBound(start, end);      
  6. Level level =  Level.Create(activeDoc, 20.0);    
  7. Wall.Create(activeDoc, geomLine, level.Id , true);
  8. return Result.Succeeded;
« Последнее редактирование: 24-09-2018, 11:46:04 от Александр Ривилис »

Оффлайн enot

  • ADN OPEN
  • *****
  • Сообщений: 525
  • Карма: 2
Re: Создание уровней
« Ответ #1 : 24-09-2018, 09:52:39 »
Код - C# [Выбрать]
  1. Autodesk.Revit.ApplicationServices.Application app = commandData.Application.Application;
  2. Document activeDoc = commandData.Application.ActiveUIDocument.Document;
  3. XYZ start = new XYZ(0, 0, 0);
  4. XYZ end = new XYZ(10, 10, 0);
  5. Transaction t=new Transaction  (activeDoc, "transaction");
  6. t.Start();
  7. Line geomLine = Line.CreateBound(start, end);      
  8. Level level =  Level.Create(activeDoc, 20.0);  
  9. Wall.Create(activeDoc, geomLine, level.Id , true);
  10. t.Commit();
  11. return Result.Succeeded;

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Создание уровней
« Ответ #2 : 24-09-2018, 11:47:04 »
Art,
Приветствую на форуме! Прочитайте у меня в подписи как следует форматировать код для форума и соблюдайте это правило.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ArtАвтор темы

  • ADN OPEN
  • Сообщений: 22
  • Карма: 0
Re: Создание уровней
« Ответ #3 : 25-09-2018, 14:18:00 »
Огромное спасибо за ответ. Вернусь с учёбы, проверю и постараюсь найти что то о транзакте.
Так же благодарен модератору за лояльность к новоприбывшим и обязательно учту замечания в будущем. Спасибо!