Используя Revit API, я разделил стену на 3 части. Для этого я создаю 3 строки:
Line.CreateBound(p1, p2)
Line.CreateBound(p2, p3)
Line.CreateBound(p3, p4)
Затем я создаю стену с каждой из этих линий, которые являются последовательными и выровненными. Результат не такой, как ожидалось, поскольку третья стена перекрывает вторую, см. Иллюстрацию ниже.
Теперь это может быть программной ошибкой, но я печатаю конечные точки линий непосредственно перед созданием 3 стен, и эти точки являются совершенно последовательными в правильном порядке. Печать выглядит следующим образом (я удаляю координаты Y и Z, они постоянны):
Now creating a new wall, from (11.811023622, ...) to (17.388451444, ...)
Now creating a new wall, from (17.388451444, ...) to (18.044619423, ...)
Now creating a new wall, from (18.044619423, ...) to (28.871391076, ...)
Если я затем использую надстройку RevitLookup для проверки этой проблемной стены, я вижу, что источник ее LocationCurve действительно находится по адресу (18.044619423, ...).
Но если я посмотрю на свойства BoundingBox Min и Max , я вижу, что он начинается с 17.388 .. и поднимается до +28,871391076. Это то, что показано на иллюстрации ..
Кроме того, я использую этот метод расщепления на некоторых других стенах в моей геометрии, для которых у меня нет проблем, и я получаю 3 красиво последовательные стены!
Поэтому мой вопрос таков: пропускаю ли я где-нибудь свойство, которое каким-то образом «сдвигает» стену BoundingBox с ее кривой местоположения? Что бы это как-то объяснить?
Как еще я могу объяснить и исправить это?
Спасибо большое!
Arnaud.