Поменять базовую точку

Автор Тема: Поменять базовую точку  (Прочитано 4992 раз)

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

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Поменять базовую точку
« : 25-09-2018, 12:07:35 »
Как в Revit поменять базовую точку?

Вот сделал так

Код - C# [Выбрать]
  1. using RVT_DB = Autodesk.Revit.DB;
  2.  
  3. public RVT_DB.BasePoint getBasePoint(RVT_DB.Document doc) {
  4.         RVT_DB.ElementCategoryFilter filter = new RVT_DB.ElementCategoryFilter(RVT_DB.BuiltInCategory.OST_ProjectBasePoint);
  5.         RVT_DB.FilteredElementCollector collector = new RVT_DB.FilteredElementCollector(doc);
  6.         IList<RVT_DB.Element> elements = collector.WherePasses(filter).ToElements();
  7.         foreach (RVT_DB.Element e in elements)
  8.             if (e is RVT_DB.BasePoint)
  9.                 return e as RVT_DB.BasePoint;  
  10.         return null;
  11. }

 
И функция вернула объект BasePoint
Только вот что-то не понятно:
1) та ли это базовая точка которая мне нужна?
2) Если так, то не понятно как ее поменять
 


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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Поменять базовую точку
« Ответ #1 : 25-09-2018, 12:41:54 »
Мне кажется, что тебе нужно менять document.ActiveProjectLocation. Посмотри код здесь: https://knowledge.autodesk.com/de/search-result/caas/CloudHelp/cloudhelp/2015/DEU/Revit-API/files/GUID-A1B6B145-132D-47EF-8B2E-DB1659CB6A0A-htm.html
Там есть такой код :
Код - C# [Выбрать]
  1. ProjectLocation projectLocation = document.ActiveProjectLocation;
  2. XYZ origin = new XYZ(0, 0, 0);
  3. ProjectPosition position = projectLocation.get_ProjectPosition(origin);
Ну а тебе похоже нужно:
Код - C# [Выбрать]
  1. ProjectLocation location = m_application.ActiveUIDocument.Document.ActiveProjectLocation;
  2. Autodesk.Revit.DB.XYZ origin = new Autodesk.Revit.DB.XYZ (0, 0, 0);
  3. ProjectPosition projectPosition = location.get_ProjectPosition(origin);
  4. //change the offset value of the project position
  5. projectPosition.Angle = newAngle * Modulus; //convert the unit
  6. projectPosition.EastWest = newEast;
  7. projectPosition.NorthSouth = newNorth;
  8. projectPosition.Elevation = newElevation;
  9. //set the value of the project position
  10. location.set_ProjectPosition(origin, projectPosition);
  11. m_application.ActiveUIDocument.Document.ActiveProjectLocation = location;
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Re: Поменять базовую точку
« Ответ #2 : 25-09-2018, 13:56:14 »
Да я обратил внимание вот так нужно.

location.set_ProjectPosition(origin, projectPosition);
Ну только что разве метод SetProjectPosition
без символа подчеркивания в API 2019

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Поменять базовую точку
« Ответ #3 : 25-09-2018, 15:12:41 »
Ну только что разве метод SetProjectPosition
без символа подчеркивания в API 2019
set_ProjectPosition должно быть и в API 2019.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Re: Поменять базовую точку
« Ответ #4 : 25-09-2018, 15:24:18 »
Странно а у меня ругается без подчеркивания есть, а с подчеркиванием.
вот что.
 подключил к проекту NetFrameWork 4.7.1

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Поменять базовую точку
« Ответ #5 : 25-09-2018, 15:37:38 »
Странно а у меня ругается без подчеркивания есть, а с подчеркиванием.
вот что.
 подключил к проекту NetFrameWork 4.7.1
set_ а не Set_
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Re: Поменять базовую точку
« Ответ #6 : 25-09-2018, 15:42:36 »
 и с маленькими буквами тоже пробовал

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Поменять базовую точку
« Ответ #7 : 25-09-2018, 15:44:04 »
и с маленькими буквами тоже пробовал

Только подчеркивает или даёт ошибку при компиляции? Это разные вещи.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Re: Поменять базовую точку
« Ответ #8 : 25-09-2018, 15:46:03 »
компилировать не хочет

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Поменять базовую точку
« Ответ #9 : 25-09-2018, 15:47:05 »
компилировать не хочет

Ok! Будем считать, что переименовали.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Re: Поменять базовую точку
« Ответ #10 : 25-09-2018, 15:49:37 »
вот эта версия Revit
 19.0.0.405
20180216_1515(x64)

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Поменять базовую точку
« Ответ #11 : 25-09-2018, 16:13:55 »
вот эта версия Revit
 19.0.0.405
20180216_1515(x64)
Таки да. Поменяли в Revit 2018:



Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение