Пересечение Face и Curve

Автор Тема: Пересечение Face и Curve  (Прочитано 1436 раз)

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

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

  • ADN OPEN
  • *****
  • Сообщений: 525
  • Карма: 2
Пересечение Face и Curve
« : 16-11-2018, 11:05:32 »
1.) Как найти пересечение (точку) Face и Curve , если они лежат в разных плоскостях


----------------------------------------------------------------------------------------------------------------------------
2.) Если Face и Curve находятся в одной плоскости :

а.) как найти точки Т1 и Т2 пересечения  Face и Curve
б.) как найти Curve A и  Curve B  , находящиеся за пределами Face
в.) как найти   Curve С , находящуюся в пределах Face



----------------------------------------------------------------------------------------------------------------------------

3.) Возможно,  следующий вопрос имеет отношение к вопросам выше, поэтому задам его в этой теме .
Вопрос: Для чего используются /означают значения SetComparisonResult (LeftEmpty и т.д.)

Цитировать
LeftEmpty   The left set is empty and the right set is not.
RightEmpty   The right set is empty and the left set is not.
BothEmpty   Both sets are empty.
Disjoint   Both sets are not empty and don't overlap.
Overlap   The overlap of two sets is not empty and strict subset of both.
Subset   Both sets are not empty and the left set is strict subset of the right.
Superset   Both sets are not empty and the left set is strict superset of the right.
Equal   Two nonempty sets are equal.

http://www.revitapidocs.com/2018.1/3310a68d-b67a-79cb-ea54-deb00d9f60d9.htm








Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: Пересечение Face и Curve
« Ответ #1 : 16-11-2018, 11:11:42 »
1) использовать метод
Код - C# [Выбрать]
  1. public SetComparisonResult Intersect(
  2.         Curve curve,
  3.         out IntersectionResultArray results
  4. )
  5.  

2)
а) получить границы плоскости, пересекать линии
б, в) найти точки пересечения с границами, склонировать исходную curve, пересчитать точки в parameter, дальше использовать MakeBound c новыми параметрами.

3) для SetComparisonResult всегда надо читать описание методов Intersect, т.к. пересекаются разные объекты и значения могут быть разными