Вырезание геометрии

Автор Тема: Вырезание геометрии  (Прочитано 12330 раз)

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

Оффлайн Адамчук НиколайАвтор темы

  • ADN OPEN
  • Сообщений: 26
  • Карма: 0
  • Skype: Nicolay Adamchuk
Вырезание геометрии
« : 23-11-2013, 11:44:22 »
Добрый день!
В примерах есть пример реализации вырезания solid`s  при помощи SolidSolidCutUtils.AddCutBetweenSolids.
Как можно выполнить "Вырезание геометрии"  для балки(колонны) и рабочей плоскости ?



Спасибо.

Оффлайн Виктор Чекалин

  • Administrator
  • *****
  • Сообщений: 694
  • Карма: 111
  • Skype: chekalin-v
Re: Вырезание геометрии
« Ответ #1 : 23-11-2013, 14:56:41 »
Николай,
вы хотите сделать подобное "вырезание" в редакторе семейства или непосредственно для конекретной балки(колонны) в проекте?

Оффлайн Адамчук НиколайАвтор темы

  • ADN OPEN
  • Сообщений: 26
  • Карма: 0
  • Skype: Nicolay Adamchuk
Re: Вырезание геометрии
« Ответ #2 : 23-11-2013, 22:02:20 »
Мне необходимо сделать это в проекте для выбранной балки (колонны)

Оффлайн Виктор Чекалин

  • Administrator
  • *****
  • Сообщений: 694
  • Карма: 111
  • Skype: chekalin-v
Re: Вырезание геометрии
« Ответ #3 : 24-11-2013, 13:01:00 »
RevitAPI содержит два класса для работы с вырезанием геометрии: SolidSolidCutUtils и InstanceVoidCutUtils.

Первый класс вы уже уопомянули и даннный класс не подходит для того чтобы вырезать геометрию между экземпляром семейства и рабочей плоскостью.

Второй класс на первый взгляд является более подходящим. Единственный метод предназначенный для вырезания геометрии, AddInstanceVoidCut, в качестве входящих параметров принимает два элемента. Первый - элемент, для которого необходимо вырезать геометрию, и второй - элемент, с помощью которого будет происходить вырезание.

Код - C# [Выбрать]
  1. public static void AddInstanceVoidCut(
  2.         Document document,
  3.         Element element,
  4.         Element cuttingInstance
  5. )
  6.  

Однако, второй элемент должен быть экземпляром семейства:
Цитировать
cuttingInstance
Type: Autodesk.Revit.DB..::..Element
The cutting family instance

На всякий случай попробовал выполнить этот метод для балки и рабочей поверхности. Ожидаемо получил ошибку.

Похоже это тот случай, когда операцию можно выполнить в интерфейсе, но нельзя выполнить с помощью API.

Задал вопрос в службу поддержки, чтобы на 100% убедиться. О результатах сообщу.
« Последнее редактирование: 27-11-2013, 21:42:20 от Виктор Чекалин »

Оффлайн Виктор Чекалин

  • Administrator
  • *****
  • Сообщений: 694
  • Карма: 111
  • Skype: chekalin-v
Re: Вырезание геометрии
« Ответ #4 : 27-11-2013, 17:02:15 »
Николай, пришел ответ из техподдержки.

Мои выводы подтвердились. На текущий момент нельзя сделать вырезание геометрии между экземпляром семейства и рабочей плоскостью с помощью API.

Оффлайн Адамчук НиколайАвтор темы

  • ADN OPEN
  • Сообщений: 26
  • Карма: 0
  • Skype: Nicolay Adamchuk
Re: Вырезание геометрии
« Ответ #5 : 28-11-2013, 20:09:22 »
Понятно. Большое спасибо за помощь.