【问题标题】:How to get create a vector from a curve?如何从曲线创建向量?
【发布时间】:2019-07-03 23:58:53
【问题描述】:

也许我误解了 Revit API 中“曲线”的概念,但我基本上是在尝试从曲线创建向量。我猜是从曲线的两个端点创建一个向量(使用 GetEndPoint 类),但它似乎不是 Revit API 中的东西。

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

【问题讨论】:

    标签: revit-api revit revitpythonshell pyrevit


    【解决方案1】:
    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
    

    【讨论】:

      【解决方案2】:

      这是一回事,听起来您使用的是正确的类。如果我有一个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 可以互换 - 你想做什么?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-07-21
        • 2019-07-13
        • 1970-01-01
        • 2020-04-20
        • 1970-01-01
        • 2023-03-07
        • 2013-05-05
        • 2023-03-06
        相关资源
        最近更新 更多