AutoCAD MechanicalのAPIでパーツリストの値を取得する方法

Autodesk Support

2022年1月10日


AutoCAD MechanicalのAPIでパーツリストの値を取得する方法はありますか?

 

Solution:

AutoCAD Mechanicalのパーツリストは、McadPartListのitemListプロパティによりMcadBOMItemsにアクセスすることで値を取得できます。

以下はパーツリストの値を取得するVBAのサンプルコードとなります。

Sub PartListData()
    Dim util As AcadUtility
    Set util = ThisDrawing.Utility   

    Dim obj As Object
    Dim pt As Variant
    
    On Error Resume Next
    util.Prompt vbCrLf
    util.GetEntity obj, pt, "パーツリストの選択: "
    
    If Not TypeOf obj Is McadPartList Then
      util.Prompt "パーツリストを選択してください." + vbCrLf
      Exit Sub
    End If
    
    util.Prompt "選択されたパーツリストのデータ: " + vbCrLf
    
    Dim partsList As McadPartList
    Set partsList = obj
        
    Dim standard As McadBOMStandard
    Set standard = partsList.SymbolStandard   

    Dim columnDefinitions As McadColumnDefinitions
    Set columnDefinitions = standard.columns

    Dim bomItems As McadBOMItems
    Set bomItems = partsList.itemList

    Dim bomItem As McadBOMItem
    For Each bomItem In bomItems
        Dim data As Variant
        data = bomItem.data
        Dim i As Integer
        util.Prompt vbTab + vbTab + "------------" + vbCrLf

        Dim column As McadColumnDefinition
        For Each column In columnDefinitions
            If column.IsVisible Then
                If column.Name = "ITEM" Then
                    util.Prompt vbTab + vbTab + "ITEM" + vbTab _
                            + vbTab + vbTab + bomItem.ItemNumber + vbCrLf
                      
                ElseIf column.Name = "QTY" Then
                    util.Prompt vbTab + vbTab + "QTY" + vbTab _
                            + vbTab + vbTab + CStr(bomItem.Quantity) + vbCrLf
                Else
                    For i = LBound(data) To UBound(data)
                        If column.Name = data(i, LBound(data, 2)) Then
                            util.Prompt vbTab + vbTab + data(i, LBound(data, 2)) + vbTab _
                                + vbTab + vbTab + data(i, UBound(data, 2)) + vbCrLf
                        End If
                    Next
                End If
            End If
        Next
    Next
End Sub

 



この情報は役に立ちましたか?


サポートが必要な場合は、Autodesk Assistant にお問い合わせください!

Assistant が回答を見つけたり、担当者に連絡するお手伝いをします。


オートデスクではどのようなサポートが提供されますか?

ご利用可能なサポートの種類は、サブスクリプションのプランによって異なります。現在のプランでご利用可能なサポート レベルをご確認ください。

サポート レベルを確認