Как получить создать вектор из кривой? - PullRequest
0 голосов
/ 03 июля 2019

Возможно, я неправильно понимаю концепцию «кривой» в Revit API, но я в основном пытаюсь создать вектор из кривой.Я предполагал создать вектор из обеих конечных точек кривой (с использованием класса GetEndPoint), но, похоже, это не так в Revit API.

Мне нужна ваша помощь, ребята!Спасибо!

Ответы [ 2 ]

1 голос
/ 03 июля 2019
XYZ pstart = Curve.GetEndPoint(0) # start XYZ point
XYZ pend = Curve.GetEndPoint(1) # end XYZ point
XYZ v = (pend - pstart).Normalize() # normalised vector pointing along curve
0 голосов
/ 03 июля 2019

Это вещь, и кажется, что вы используете правильные классы.Если у меня есть Curve (который также является Line и вектором), я могу исследовать его следующим образом:

Curve.GetEndPoint(0) # start XYZ point
Curve.GetEndPoint(1) # end XYZ point
Curve.Evaluate(0.5, True) # middle XYZ point

Если я хочу создать новый Line, я мог бысделайте это следующим образом:

newLine = Line.CreateBound(XYZ(0,0,0), XYZ(5,2,0))

Затем вы можете нарисовать Line в виде линии детализации (обе точки newLine имеют одинаковое значение Z, поэтому вам нужно находиться в виде в плане):

doc.Create.NewDetailCurve(ui.ActiveView, newLine )

По моему опыту, Curve и Line довольно взаимозаменяемы - что вы хотите сделать?

...