助けてくれてありがとう。何が間違っているのかわからず、とてもイライラしています。まず、背景を少し...
プログラム: Revit MEP 2015 IDE: VS 2013 Ultimate
共有パラメータ ファイルを作成し、そのファイルのパラメータをプロジェクト パラメータに追加しました。これらのパラメータは、電線管経路、電線管継手、および電線管に適用されています。
VB.NET を使用して問題なくパラメーターを設定しています。コードが実行された後、要素のプロパティ ウィンドウに適用された予想されるテキストを確認できます。値を入力するために使用されるコードは次のとおりです。
移入:
Dim p as Parameter = Nothing
Dim VarName as String = "Parameter Name"
Dim VarVal as String = "Parameter Value"
p = elem.LookupParameter(VarName) <-- elem is passed in to the function as an Element
If p IsNot Nothing Then
p.Set(VarVal)
End if
ここでエラーに遭遇します。値を取得しようとすると、パラメーターの定義名でパラメーターを取得できますが、値は常に空白です。取得に使用されるコードは次のとおりです...
Try
For Each e As Element In fec.OfCategory(BuiltInCategory.OST_ConduitRun)
sTemp = sTemp & "Name: " & P.Definition.Name & vbCrLf & "Value: " & P.AsString & vbCrLf & "Value As: " & P.AsValueString & vbCrLf & vbCrLf
sTemp2 = sTemp2 & "Name: " & GetParamInfo(P, doc)
Next
MessageBox.Show(sTemp)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
メッセージ ボックスにはすべてのパラメータ名が正しく表示され、Revit パラメータの値が表示されます。ただし、共有パラメーターにはパラメーター名のみが表示され、値は常に空白です。私がこれについて行くべき別の方法はありますか?奇妙なことに、このようにユーザー選択による参照を使用すると、共有パラメーターの値を確認できます...
Dim uiDoc As UIDocument = app.ActiveUIDocument
Dim Sel As Selection = uiDoc.Selection
Dim pr As Reference = Nothing
Dim doc As Document = uiDoc.Document
Dim fec As New FilteredElementCollector(doc)
Dim filter As New ElementCategoryFilter(BuiltInCategory.OST_ConduitRun)
Dim sTemp As String = "", sTemp2 As String = ""
Dim elemcol As FilteredElementCollector = fec.OfCategory(BuiltInCategory.OST_ConduitRun)
Dim e As Element = Nothing, el As Element = Nothing
Dim P As Parameter
pr = Sel.PickObject(ObjectType.Element)
e = doc.GetElement(pr)
For Each P in e.Paramters
sTemp = sTemp & "Name: " & P.Definition.Name & vbCrLf & "Value: " & P.AsString & vbCrLf & "Value As: " & P.AsValueString & vbCrLf & vbCrLf
sTemp2 = sTemp2 & "Name: " & GetParamInfo(P, doc)
Next
MessageBox.Show(sTemp)
上記の方法で、ユーザーがオブジェクトを直接選択すると、共有パラメーターの値と名前が表示されます。それらはどう違いますか?
値が最初に設定されているときに、私が見なければならない何らかのバインディングはありますか? みんなの助けを前もってありがとう。
よろしく、 グレン