2017-05-02 5 views
0

Visual BasicでAutodesk Inventorを使用していて、ボックスに値を表示しようとしています。値はすべて1を除いて表示されます。 fractionDisplay(thicknessDisplay)という値は、ボックス内の3/16(私のfractionDisplay()配列の最初の値)を表示し続けます。なぜ0以外の値に設定されているthicknessDisplay番号に基づいて他の値を表示しないのですか?配列から値を取得しようとしていますが、それは最初の値を引き出すだけなので、なぜその理由がわかりませんか?

ここ
Dim erpNumber() As String = {"PA0001", "PA0002", "PA0003", "PA0004", "PA0006", "PC0003", "PC0004", "PC0005", "PC0006", "PC0007", "PC0008", "PC0009", "PC0010", "PC0011"} 
Dim fractionDisplay() As String = {"3/16", "1/4", "5/16", "3/8", "1/8", "1/2", "5/8", "3/4", "1", "1 1/4", "1 1/2", "2", "2 1/2", "3"} 

stockNumberValue = erpNumber(plateThickness) 

iProperties.Value("Project", "Description") = fractionDisplay(thicknessDisplay) & """" & " X " & Length & """" & " X " & Width & """" & " 100XF BURNOUT" 

If Thickness = 0.1875 Then 
    plateThickness = 0 
    thicknessDisplay = 0 
ElseIf Thickness = 0.25 Then 
    plateThickness = 1 
    thicknessDisplay = 1 
ElseIf Thickness = 0.3125 Then 
    plateThickness = 2 
    thicknessDisplay = 2 
ElseIf Thickness = 0.375 Then 
    plateThickness = 3 
    thicknessDisplay = 3 
ElseIf Thickness = 0.125 Then 
    plateThickness = 4 
    thicknessDisplay = 4 
ElseIf Thickness = 0.5 Then 
    plateThickness = 5 
    thicknessDisplay = 5 
ElseIf Thickness = 0.625 Then 
    plateThickness = 6 
    thicknessDisplay = 6 
ElseIf Thickness = 0.75 Then 
    plateThickness = 7 
    thicknessDisplay = 7 
ElseIf Thickness = 1 Then 
    plateThickness = 8 
    thicknessDisplay = 8 
ElseIf Thickness = 1.25 Then 
    plateThickness = 9 
    thicknessDisplay = 9 
ElseIf Thickness = 1.5 Then 
    plateThickness = 10 
    thicknessDisplay = 10 
ElseIf Thickness = 2 Then 
    plateThickness = 11 
    thicknessDisplay = 11 
ElseIf Thickness = 2.5 Then 
    plateThickness = 12 
    thicknessDisplay = 12 
ElseIf Thickness = 3 Then 
    plateThickness = 13 
    thicknessDisplay = 13 
End If 

stockNumberValue = erpNumber(plateThickness) 
iProperties.Value("Project", "Stock Number") = stockNumberValue 

私が得る結果である場合のは、0.5を言わせて、ユーザーのタイプ:

在庫番号:PC0003

説明:3/16" ここに

は私のコードですX 12" X 5" 100XF BURNOUT

それは言うべき

1/2" X 12" X 5" 100XF BURNOUT

+0

。 iProperties.Value( "Project"、 "Description")= ..... Ifの後にいる必要があります – OldBoyCoder

+0

@OldBoyCoderありがとうございます!それがすべてです。私はそれがコードの順番と関係があると思っていましたが、私はそれを見ることができませんでした。ありがとうございました –

答えて

1

配列を読み取った時点でthicknessDisplayを設定していません。あなたがthicknessDisplayを設定していないあなたの配列を読ん時点で

iProperties.Value("Project", "Description") = fractionDisplay(thicknessDisplay) & """" & " X " & Length & """" & " X " & Width & """" & " 100XF BURNOUT" 

IFのセットの後にする必要があるとElseifs

関連する問題