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

ADN Club => Revit API => Тема начата: Адамчук Николай от 23-11-2013, 11:44:22

Название: Вырезание геометрии
Отправлено: Адамчук Николай от 23-11-2013, 11:44:22
Добрый день!
В примерах есть пример реализации вырезания solid`s  при помощи SolidSolidCutUtils.AddCutBetweenSolids.
Как можно выполнить "Вырезание геометрии"  для балки(колонны) и рабочей плоскости ?

(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fs12.postimg.org%2Fk1gnn82d5%2Fimage.jpg&hash=f9b9ca10c3333017bbfdf9c24c16b422) (http://postimg.org/image/k1gnn82d5/)

Спасибо.
Название: Re: Вырезание геометрии
Отправлено: Виктор Чекалин от 23-11-2013, 14:56:41
Николай,
вы хотите сделать подобное "вырезание" в редакторе семейства или непосредственно для конекретной балки(колонны) в проекте?
Название: Re: Вырезание геометрии
Отправлено: Адамчук Николай от 23-11-2013, 22:02:20
Мне необходимо сделать это в проекте для выбранной балки (колонны)
Название: Re: Вырезание геометрии
Отправлено: Виктор Чекалин от 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% убедиться. О результатах сообщу.
Название: Re: Вырезание геометрии
Отправлено: Виктор Чекалин от 27-11-2013, 17:02:15
Николай, пришел ответ из техподдержки.

Мои выводы подтвердились. На текущий момент нельзя сделать вырезание геометрии между экземпляром семейства и рабочей плоскостью с помощью API.
Название: Re: Вырезание геометрии
Отправлено: Адамчук Николай от 28-11-2013, 20:09:22
Понятно. Большое спасибо за помощь.