【问题标题】:OpenVSP Python API - Can't change wingspanOpenVSP Python API - 无法更改翼展
【发布时间】:2020-01-01 12:17:47
【问题描述】:

我编写了一个 Python 程序,它从 CSV 表加载 .vsp3 文件和数据,然后更新 .vsp3 中的几何图形并将更新的几何图形写入新文件。除了改变机翼部分的翼展外,一切都运行良好(甚至是机翼几何形状的其他参数)。由于某种原因,几何图形不会更新为新的跨度值。

我尝试了以下三种方法的不同组合:

mainWing_id = vsp.FindGeom("WingMain", 0)                  
vsp.SetParmVal(mainWing_id, "X_Rel_Location", "XForm", mainWing_x)               
vsp.SetParmVal(mainWing_id, "Y_Rel_Location", "XForm", mainWing_y)               
vsp.SetParmVal(mainWing_id, "Z_Rel_Location", "XForm", mainWing_z) 
vsp.SetParmVal(mainWing_id, "Span", "Plan", mainWingSpan) #attempt 1                     
vsp.SetParmVal(mainWing_id, "TotalSpan", "WingGeom", mainWingSpan) #attempt 2
vsp.SetParmVal(mainWing_id, "Span", "XSec_1", mainWingSpan/2.0) #attempt 3 

我没有收到任何错误消息。但是翼展并没有改变到所需的值。水平和垂直稳定器的行为相同。任何帮助将不胜感激。

【问题讨论】:

    标签: python cad


    【解决方案1】:

    我认为您的问题可能在于机翼部分的驱动参数。我也在与 Python API 搏斗,并一直使用 .vspscript 示例作为指南。在 Wing.vspscript 示例中有以下行:

    //===== Change Driver =====//
    SetDriverGroup( wid, 1, AREA_WSECT_DRIVER, ROOTC_WSECT_DRIVER, TIPC_WSECT_DRIVER );
    

    我使用了这个命令,但是用 span 代替了 area:

    import openvsp as vsp
    
    section = 1
    
    wid = vsp.AddGeom("WING")
    vsp.SetDriverGroup(wid, section, vsp.SPAN_WSECT_DRIVER, vsp.ROOTC_WSECT_DRIVER, vsp.TIPC_WSECT_DRIVER)
    

    这里的section是你要改变的机翼部分的索引。这样我就可以使用跨度、根弦和尖端弦来控制截面平面图。此过程类似于 Wing Section 选项卡中的 GUI 单选按钮选择。希望这能解决您的问题!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-20
      • 2016-12-19
      • 2021-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-03
      • 1970-01-01
      相关资源
      最近更新 更多