【问题标题】:Editable value in Case (Ilogic based on Vb)Case 中的可编辑值(基于 Vb 的 Ilogic)
【发布时间】:2020-05-14 15:20:59
【问题描述】:

我有一个零件,根据绳索的直径而变化。定义了绳索范围和几何参数。但是一个参数必须是可编辑的。我希望获得一组默认值,但我可以自行决定更改我需要的参数或保持原样。 这是一段代码:

Select Case dk
    Case "From 3 to 3,7"
        B = 6
        B1 = 13
        hк = 5
        R = 2
    Case "From 3,7 to 4,6" 
        B = 8
        B1 = 15
        hк = 6
        R = 2.5
    Case "From 4,6 to 5,6" 
        B = 9
        B1 = 16
        hк = 7
        R = 3
    Case "From 5,6 to 7,2" 
        B = 12
        B1 = 19
        hк = 9
        R = 4
    End Select

要更改的值为 B1。事实上,这个值不应小于或等于 B。因此,我对 B1 在范围内变化的解决方案感到满意。 预先感谢您在此问题上提供的帮助。

【问题讨论】:

  • 为什么这个问题被标记为 VBA 和 VB.NET?阅读这些标签的描述。他们都声明他们不会被用于对方的问题。找出您正在使用的语言并仅使用与该语言相关的标签。

标签: vb.net autodesk-inventor


【解决方案1】:

多用两个参数。 B1max(B1 的最大值)和 B1req(B1 的请求值)。在您的代码集中 B1max 而不是 B1。参数 B1req 可以由用户或其他 iLogic 代码设置为任何值。

对于参数 B1,使用表达式“min(max(B;B1req);B1max)”。现在 B1 参数值只能从 B 到 B1max 范围内,并且尽可能等于 B1req。

Select Case dk
Case 3 to 3.7 '"From 3 to 3,7"
    B = 6
    B1max = 13
    hk = 5
    R = 2
Case 3.7 To 4.6 '"From 3,7 to 4,6" 
    B = 8
    B1max = 15
    hk = 6
    R = 2.5
Case 4.6 To 5.6 '"From 4,6 to 5,6" 
    B = 9
    B1max = 16
    hk = 7
    R = 3
Case 5.6 To 7.2 '"From 5,6 to 7,2" 
    B = 12
    B1max = 19
    hk = 9
    R = 4
Case Else
    Logger.Error("Parameter 'dk' is out of range")
End Select

Logger.Debug("B = " & B)
Logger.Debug("B1max = " & B1max)
Logger.Debug("hk = " & hk)
Logger.Debug("R = " & R)

【讨论】:

    猜你喜欢
    • 2013-10-26
    • 2014-08-25
    • 2011-06-22
    • 1970-01-01
    • 2018-11-13
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多