
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
hi all
i am trying to create a new project parameter and bind oit to a shared parameter
i read the api document of autodesk used the code examples
and came up with this
<Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)> _
<Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)> _
<Autodesk.Revit.VSTA.AddInId("056e4a87-ca78-4e44-8540-dda2100c7547")> _
Partial Public Class ThisDocument
Private Sub Module_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
End Sub
Private Sub Module_Shutdown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shutdown
End Sub
Public Sub a()
Dim uiApp As UIApplication = Me.Application
Dim doc As Document = uiApp.ActiveUIDocument.Document
'Dim projinfo As Autodesk.Revit.DB.Category = doc.Settings.Categories.Item(BuiltInCategory.OST_ProjectInformation)
' Dim cats1 As CategorySet = uiApp.Application.Create.NewCategorySet()
'cats1.Insert(projinfo)
'RawCreateProjectParameterFromExistingSharedParameter(uiApp, "ExistingParameter1", cats1, BuiltInParameterGroup.PG_DATA, False)
'RawCreateProjectParameterFromNewSharedParameter(uiApp, "NewDefinitionGroup1", "NewParameter1", ParameterType.Text, True, cats1, BuiltInParameterGroup.PG_DATA, False)
'RawCreateProjectParameter(uiApp, "TemporarySharedParameter", ParameterType.Text, True, cats1, BuiltInParameterGroup.PG_DATA, True)
Dim deffile As DefinitionFile
Dim fname As String
fname = "I:\down\onderhoek\1.txt"
Dim projinfo As ProjectInfo = doc.ProjectInformation
uiApp.Application.SharedParametersFilename = fname
DefFile = uiApp.Application.OpenSharedParameterFile
If defFile Is Nothing Then
Throw New Exception("No SharedParameter File!")
End If
Dim myGroups As DefinitionGroups = deffile.Groups
Dim myGroup As DefinitionGroup
Dim myDef As Definition
If myGroups.Item("MyParameters2") Is Nothing Then
myGroup = myGroups.Create("MyParameters2")
Else
myGroup = myGroups.Item("MyParameters2")
End If
If myGroup.Definitions.Item("Instance_ProductDate") Is Nothing Then
myDef = myGroup.Definitions.Create("Instance_ProductDate", ParameterType.Text)
Else
myDef = myGroup.Definitions.Item("Instance_ProductDate")
End If
Dim myCats As CategorySet = uiApp.Application.Create.NewCategorySet
Dim myCat As Category = uiApp.ActiveUIDocument.Document.Settings.Categories.Item(BuiltInCategory.OST_ProjectInformation)
myCats.Insert(myCat)
Dim instanceBinding As InstanceBinding = uiApp.Application.Create.NewInstanceBinding(myCats)
MsgBox("7")
Dim bindingMap As BindingMap = doc.ParameterBindings
MsgBox("8")
bindingMap.Insert(myDef, instanceBinding, BuiltInParameterGroup.PG_TEXT)
End Sub
End Class
this only works when i have already a project parameter "ExistingParameter1 defined in my project parameters
is it possible to create my own project parameter an attach the shared parameter to the project parameter ??????
Solved! Go to Solution.