AutoCAD Plant3D APIで3Dモデルの配管のライン番号タグの値を取得する方法

Autodesk Support

2021年12月8日


AutoCAD Plant3D APIで3Dモデルの配管のライン番号タグの値を取得する方法はありますか?

 

Solution:

ライン番号タグ値は、「プロジェクトマネージャ->プロジェクト セットアップ->Plant 3D DWG設定配下のP&IDオブジェクトマッピング->配管グループ->P3d ライングループ ->プロパティマッピング配下のライン番号」で定義されています。

 

APIで値を取得する場合にも、この構造に沿った形でオブジェクトをたどって取得することが出来ます。

Dim doc As Document = Application.DocumentManager.MdiActiveDocument
Dim db As Database = doc.Database
Dim ed As Editor = doc.Editor

Dim Res As PromptEntityResult = ed.GetEntity("エンティティを選択 : ")

If (Res.Status <> PromptStatus.OK) Then
    Exit Sub
End If

Dim currentProj As PlantProject = PlantApplication.CurrentProject
Dim pipeProj As PipingProject = currentProj.ProjectParts("Piping")
Dim dlm As DataLinksManager = pipeProj.DataLinksManager
Dim dlm3d As DataLinksManager3d = pipeProj.DataLinksManager3d
Dim rowId As Integer = dlm.FindAcPpRowId(Res.ObjectId)

Try
    Dim lginfo As PipeLineGroupData = dlm3d.GetLineGroupInfo(rowId)
Catch

End Try

Dim lgid As PnPRowIdArray = dlm.GetRelatedRowIds("P3dLineGroupPartRelationship", "Part", rowId, "LineGroup")
If lgid Is Nothing Or lgid.Count = 0 Then
    Exit Sub
End If

Dim lgRowId As Integer = lgid.First.Value
Dim vals As List(Of KeyValuePair(Of String, String)) = dlm.GetAllProperties(lgRowId, False)

Try
    Dim lgRow As PnPRow = dlm.GetPnPDatabase().GetRow(lgRowId)
    Dim Tag As String = lgRow("Tag").ToString()
    ed.WriteMessage("タグの値:{0}", Tag)

Catch ex As System.Exception

End Try

 



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


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

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


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

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

サポート レベルを確認