2017-02-10 10 views
0

Я хотел бы иметь возможность перелистать живую секцию с использованием API Revit 2017. Это будет эквивалент функции пользовательского интерфейса, который будет показан на моих изображениях ниже.Как я могу перевести секцию в реальном времени с помощью Revit API

Before After

Я попытался с помощью встроенного ElementTransformUtils.MirrorElement но только создаст второй раздел маркер со вторым видом сечения. Есть ли способ, которым я могу достичь этого, используя Revit API?

ответ

1

Я получил решение для своего сообщения How can I flip a section using the Revit 2017 API на форуме Revit API. Оказывается, что я не обратил внимания на функцию множественного числа ElementTransformUtils.MirrorElements, которая, как я предполагала, была почти такой же, как единственное число ElementTransformUtils.MirrorElement, за исключением того, что выполнялось несколько зеркал элементов вместо одного зеркала. Множество ElementTransformUtils.MirrorElements имеет параметр bool mirrorCopies, который можно установить на false, который заставит зеркальный зеркальный фрагмент вместо того, чтобы делать зеркальную копию оригинала. Вот две функции подписи бок о бок:

void MirrorElement(
    Document document, 
    ElementId elementToMirror, 
    Plane plane 
); 

IList<ElementId> MirrorElements(
    Document document, 
    ICollection<ElementId> elementsToMirror, 
    Plane plane, 
    bool mirrorCopies 
); 

Мой код заканчивает тем, как это (с elementsToMirror, содержащие только один элемент):

ElementTransformUtils.MirrorElements(document, elementsToMirror, mirrorPlane, false); 
0

Вам необходимо изменить свойство CropBox объекта ViewSection. Компоненты Z свойств Min и Max должны быть инвертированы.

+0

уход поделиться код для ссылки? Благодаря! – konrad

+0

Да, не могли бы вы поделиться образцом кода? Это была дорога, в которой я возглавлял, прежде чем я получил ответ на форумах Revit API. Кроме того, один из людей, отвечающих на мой пост, заявил, что установка 'mirrorCopies' на' false' (согласно моему ответу) не сработала для них. Мне интересно, не отвечает ли мой ответ на более старые версии Revit. – skeletank