如何从曲线创建矢量?

How to get create a vector from a curve?

也许我误解了 Revit API 中 'curve' 的概念,但我基本上是在尝试从曲线创建矢量。我猜是从曲线的两个端点创建一个矢量(使用 GetEndPoint class),但它似乎不是 Revit API.

中的东西

我需要你们的帮助!谢谢!

这是一回事,听起来您使用的是正确的 类。如果我有一个 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 )

根据我的经验,CurveLine 可以互换 - 你想做什么?

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