Сообщество программистов Autodesk в СНГ
ADN Club => Revit API => Тема начата: Ksarrik от 18-05-2021, 15:44:39
-
Добрый день. Возникла необходимость получить высоту и ширину балок (класс: FamilyInstance, BuiltInCategory: OST_StructuralFraming). Проблемы нет, когда балка направлена параллельно осям координат, достаточно извлечь BoundingBoxXYZ и вычислить габариты.
Сложность возникла когда балка идет под углом.
Я пробовал вычислять высоту используя вектор направления из LocationCurve и используя BoundingBoxXYZ через геометрические формулы, но здесь возникает проблема из-за того, что boundingbox меняется из-за разных значений ползунков "Примыкание в начале" и "Примыкание в конце". В общем мне не удалось корректно получить высоту и ширину балки.
Второй способ какой я вижу, это создавать временный дубликат нужной балки параллельно оси OX и используя BoundingBoxXYZ вычислять габариты временного элемента, сохранять для дальнейшего использования, и затем удалять временный элемент. Но здесь возникает вопрос производительности данного подхода на больших файлах.
Может кто-то сталкивался с подобной проблемой и знает эффективные решения?
-
(https://i.postimg.cc/FdHDjnVv/Screenshot-4.png) (https://postimg.cc/FdHDjnVv)
Не уверен только, что там не учитываются параметры. Не проверял
-
Спасибо большое, похоже на то что нужно!)