ADN Club > Revit API
Wall Duct пересечение и добавление Opening
Александр Игнатович:
--- Цитата: begiz от 20-09-2019, 11:54:13 ---используя данное предложение я могу получить обе точки пересечения трубы и стены.
--- Конец цитаты ---
Зачем обе? Одного пересечения будет достаточно.
--- Цитата: begiz от 20-09-2019, 11:54:13 ---далее мне нужно будет взять радиуц трубы и построить окружность (при пересечении под приамым углом) с радиусом трубы и центром в точке пересечения и потом повернуть эту окружность(плоскость) чтобы она была параллельна плоскости стены, так?
--- Конец цитаты ---
Не. Слишком сложно. Всё проще. Получаете поверхность (Face) стены, с которой пересекается труба. Точку пересечения уже нашли. Находим нормаль методом Face.ComputeNormal. Ну, собственно, этого достаточно для того, чтобы построить окружность.
--- Цитата: begiz от 20-09-2019, 11:54:13 ---а как получить из солида обшиую со стеной поверхность?
--- Конец цитаты ---
Origin поверхности solid-а лежит на поверхности стены. Нормаль поверхности solid-а совпадает с нормалью поверхности стены
begiz:
--- Цитировать ---Зачем обе? Одного пересечения будет достаточно.
--- Конец цитаты ---
2 точки нужны на случай если пересечение не под прямым углом.
тады нужно будет дырку делать с учетом смещения.
точки пересечения есть, радиус есть, нормаль есть, окружность построил.
тер как получить BoundingBox окружности?
у солидов есть такой метод, а у 2D фигур?
можно просто 2 точки от центра под углом 45 и 225 градусов на расстоянии радиуса вычислить?
или можно/нужно как то проще делать?
begiz:
--- Цитировать ---можно просто 2 точки от центра под углом 45 и 225 градусов на расстоянии радиуса вычислить?
--- Конец цитаты ---
построил арку от 45 до 225 градусов и взял координаты концов
прямоугольное отверстие получилось!!!
Александр Игнатович:
Ну, как бы описание метода предполагает:
--- Код - C# [Выбрать] ---public Opening NewOpening( Wall wall, XYZ pntStart, XYZ pntEnd)
--- Цитировать ---Creates a rectangular opening on a wall.
--- Конец цитаты ---
Да и в UI кнопка создания проема в стене позволяет только прямоугольные делать, это в перекрытиях и крышах проемы произвольной формы создаются, а в API очень и очень немного функционала, которого нет в UI, процентов так 5, наверное. Тут лучше, конечно, спросить инженеров, как они проемы делают, но, вероятнее всего у них есть своё семейство окон или дверей для создания круглых проемов.
begiz:
ну так я и хотел приемоугольное для начала :)
я эту арку строил чтобы размеры подобратьм которыэ в фукцию передаются.
Да, так в прицепленном фаиле есть семейство для круглых отверстий, но его через NewFamilyInstance надо вставлять.
Навигация
Перейти к полной версии