@@ -82,9 +82,10 @@ Class SharedParameter
8282 ' parameters can still be bound to these categories.
8383 Dim visible As Boolean = cat.AllowsBoundParameters
8484
85- ' Get or create the shared params definition
86- Dim fireRatingParamDef As Definition = GetOrCreateSharedParamsDefinition(sharedParamsGroup, ParameterType.Number, kSharedParamsDefFireRating, visible)
87- If fireRatingParamDef Is Nothing Then
85+ ' Get or create the shared params definition
86+ Dim forgeTypeId As ForgeTypeId = New ForgeTypeId(SpecTypeId.Number.ToString())
87+ Dim fireRatingParamDef As Definition = GetOrCreateSharedParamsDefinition(sharedParamsGroup, forgeTypeId, kSharedParamsDefFireRating, visible)
88+ If fireRatingParamDef Is Nothing Then
8889 message = "Error in creating shared parameter."
8990 Return Result.Failed
9091 End If
@@ -164,31 +165,30 @@ Class SharedParameter
164165 Return g
165166 End Function
166167
167- Public Shared Function GetOrCreateSharedParamsDefinition( ByVal defGroup As DefinitionGroup, ByVal defType As ParameterType, ByVal defName As String , ByVal visible As Boolean ) As Definition
168- Dim definition As Definition = defGroup.Definitions.Item(defName)
169- If definition Is Nothing Then
170- Try
171-
172- ''Public Function Create(name As String, type As Autodesk.Revit.DB.ParameterType, visible As Boolean)
173- ''As Autodesk.Revit.DB.Definition' is obsolete:
174- 'This method is deprecated in Revit 2015.
175- 'Use Create(Autodesk.Revit.DB.ExternalDefinitonCreationOptions) instead'
176-
177- 'definition = defGroup.Definitions.Create(defName, defType, visible)
178-
179- ' updated for Revit 2015
180- Dim extDefCrOptions As ExternalDefinitionCreationOptions _
181- = New ExternalDefinitionCreationOptions(defName, defType)
182-
183- extDefCrOptions.Visible = True
184- definition = defGroup.Definitions.Create(extDefCrOptions)
185-
186- Catch generatedExceptionName As Exception
187- definition = Nothing
188- End Try
189- End If
190- Return definition
191- End Function
168+ Public Shared Function GetOrCreateSharedParamsDefinition( ByVal defGroup As DefinitionGroup, ByVal forgetypeId As ForgeTypeId, ByVal defName As String , ByVal visible As Boolean ) As Definition
169+ Dim definition As Definition = defGroup.Definitions.Item(defName)
170+ If definition Is Nothing Then
171+ Try
172+ ''Public Function Create(name As String, type As Autodesk.Revit.DB.ParameterType, visible As Boolean)
173+ ''As Autodesk.Revit.DB.Definition' is obsolete:
174+ 'This method is deprecated in Revit 2015.
175+ 'Use Create(Autodesk.Revit.DB.ExternalDefinitonCreationOptions) instead'
176+
177+ 'definition = defGroup.Definitions.Create(defName, defType, visible)
178+
179+ ' updated for Revit 2015
180+ Dim extDefCrOptions As ExternalDefinitionCreationOptions _
181+ = New ExternalDefinitionCreationOptions(defName, forgetypeId)
182+
183+ extDefCrOptions.Visible = True
184+ definition = defGroup.Definitions.Create(extDefCrOptions)
185+
186+ Catch generatedExceptionName As Exception
187+ definition = Nothing
188+ End Try
189+ End If
190+ Return definition
191+ End Function
192192End Class
193193
194194<Transaction(TransactionMode.Manual)> _
@@ -219,15 +219,15 @@ Public Class PerDocParameter
219219 TaskDialog.Show( "Per document parameter" , "Error getting the shared params group." )
220220 Return Result.Failed
221221 End If
222- ' visible param
223- Dim docParamDefVisible As Definition = SharedParameter.GetOrCreateSharedParamsDefinition(sharedParamsGroup, ParameterType.[Integer] , kParamNameVisible, True )
224- If docParamDefVisible Is Nothing Then
222+ ' visible param
223+ Dim docParamDefVisible As Definition = SharedParameter.GetOrCreateSharedParamsDefinition(sharedParamsGroup, New ForgeTypeId(SpecTypeId.Number.ToString()) , kParamNameVisible, True )
224+ If docParamDefVisible Is Nothing Then
225225 TaskDialog.Show( "Per document parameter" , "Error creating visible per-doc parameter." )
226226 Return Result.Failed
227227 End If
228- ' invisible param
229- Dim docParamDefInvisible As Definition = SharedParameter.GetOrCreateSharedParamsDefinition(sharedParamsGroup, ParameterType.[Integer] , kParamNameInvisible, False )
230- If docParamDefInvisible Is Nothing Then
228+ ' invisible param
229+ Dim docParamDefInvisible As Definition = SharedParameter.GetOrCreateSharedParamsDefinition(sharedParamsGroup, New ForgeTypeId(SpecTypeId.Number.ToString()) , kParamNameInvisible, False )
230+ If docParamDefInvisible Is Nothing Then
231231 TaskDialog.Show( "Per document parameter" , "Error creating invisible per-doc parameter." )
232232 Return Result.Failed
233233 End If
0 commit comments