Пересечение solid и точки, как ?

Автор Тема: Пересечение solid и точки, как ?  (Прочитано 2160 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн LegantmarАвтор темы

  • ADN OPEN
  • Сообщений: 18
  • Карма: 1
есть элемент, получаю его геометрию, например, solid.
в скрипте делаю вспомогательные построения, например линии.
задача определить есть ли пересечение средней точки линии с solid.
понимаю, что задача не простая, так как подходящих "инструментов" в revitAPI нет.
как быть?
буду рад любым идеям..

а можно пример?
можно.
делаю автообразмеривание формообразующих элементов.
- получаю линии граней у solid
- создаю offset по заданному вектору (к примеру, 0,1,1)
- если новая линия (offset линия) попадает внутрь solid, то изменяю вектор на противоположный 0,-1,1
- по линиям (и референс точкам граней) создаю размеры
в Dynamo есть нод intersec который работает с пересечением любых геометрий, но в revitAPI это только с линиями

как вариант:
- уже после построения размера, получать его линию (или какую то геометрию) и проверять на пересечение
проблема:
- как потом задать смещение этого размера в нужную сторону ? ))

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Пересечение solid и точки, как ?
« Ответ #1 : 16-08-2017, 20:36:04 »
в Dynamo есть нод intersec который работает с пересечением любых геометрий, но в revitAPI это только с линиями
Dynamo - Open Source проект. Так что можешь посмотреть в нём исходники.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Пересечение solid и точки, как ?
« Ответ #2 : 16-08-2017, 20:44:01 »
Я хотя и не пишу для Revit, но за несколько минут нашёл пример пересечения Solid и Curve при помощи Solid.IntersectWithCurve(): https://knowledge.autodesk.com/search-result/caas/CloudHelp/cloudhelp/2015/ENU/Revit-API/files/GUID-2601C028-7E6D-462A-9234-46FFA3E2D31E-htm.html

P.S.: Точки ни с чем пересекаться не могут.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн LegantmarАвтор темы

  • ADN OPEN
  • Сообщений: 18
  • Карма: 1
Re: Пересечение solid и точки, как ?
« Ответ #3 : 16-08-2017, 21:46:39 »
Александр, спасибо