如何从曲线创建矢量?
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 )
根据我的经验,Curve
和 Line
可以互换 - 你想做什么?
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
也许我误解了 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 )
根据我的经验,Curve
和 Line
可以互换 - 你想做什么?
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