Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import clr
- clr.AddReference('ProtoGeometry')
- from Autodesk.DesignScript.Geometry import *
- clr.AddReference('RevitAPI')
- import Autodesk
- from Autodesk.Revit.DB import *
- clr.AddReference("System")
- import System
- from System.Collections.Generic import List
- clr.AddReference("RevitNodes")
- import Revit
- clr.ImportExtensions(Revit.Elements)
- clr.AddReference("RevitServices")
- import RevitServices
- from RevitServices.Persistence import DocumentManager
- from RevitServices.Transactions import TransactionManager
- #---------------------Open File and Revit application---------
- curdoc = DocumentManager.Instance.CurrentDBDocument
- uiapp = DocumentManager.Instance.CurrentUIApplication
- app = uiapp.Application
- #---------------------Python Parameters------------------------
- gropList = list()
- paramList = list ()
- paramProperty = list()
- outList = list()
- #---------------------INPUT information---------------------
- sPfile = app.OpenSharedParameterFile()
- #Получаем все группы из файла общих параметров
- #Это Энумератор. Для получения элементов нужен цикл.
- spGroups = sPfile.Groups.GetEnumerator()
- gropNames = list()
- while (spGroups.MoveNext()):
- gropList.append(spGroups.Current)
- #Получение списка Описания параметров для каждой группы
- #а заодно и получение имени группы.
- for group in gropList:
- paramList.append(group.Definitions)
- gropNames.append(group.Name)
- #Из описания параметров можно получить любую необходимую информацию
- i = 0
- for group in paramList:
- outList.append([])
- k=0
- for param in group:
- outList[i].append([])
- outList[i][k].append(param.Name)
- outList[i][k].append(param.ParameterType)
- outList[i][k].append(param.ParameterGroup)
- outList[i][k].append(param.Description)
- k +=1
- i += 1
- OUT = gropNames, outList
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement