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("RevitServices")
- import RevitServices
- from RevitServices.Persistence import DocumentManager
- from RevitServices.Transactions import TransactionManager
- files = IN[0]
- curdoc = DocumentManager.Instance.CurrentDBDocument
- uiapp = DocumentManager.Instance.CurrentUIApplication
- app = uiapp.Application
- mygroups = curdoc.Application.OpenSharedParameterFile().Groups
- comment1 = ""
- comment2 = []
- list=[]
- file=[]
- path=[]
- listname = []
- listtype = []
- listvalue = []
- saopt = SaveAsOptions()
- for f in files:
- if ".rfa" in f and f[-9:-5]!='.000':
- file.append(f)
- a=0
- i=0
- while i<file.Count:
- doc = app.OpenDocumentFile(file[i])
- TransactionManager.Instance.EnsureInTransaction(doc)
- #---------------Удаление параметров----------------------------------------------------
- pars = doc.FamilyManager.Parameters
- pars = UnwrapElement(pars)
- for par in pars:
- namepar = par.Definition.Name
- typepar = par.StorageType
- if str(typepar)=='Double':
- try:
- valuepar = par.AsDouble()
- except:
- valuepar = 0
- elif str(typepar)=='Integer':
- try:
- valuepar = par.AsInteger()
- except:
- valuepar = 0
- elif str(typepar)=='String':
- try:
- valuepar = UnwrapElement(par).AsValueString()
- except:
- valuepar = "no"
- else:
- try:
- valuepar = par.AsValueString()
- except:
- valuepar = ""
- #valuepar=doc.FamilyManager
- list.append(par.Definition)
- listname.append(namepar)
- listtype.append(typepar)
- listvalue.append(valuepar)
- TransactionManager.Instance.ForceCloseTransaction()
- doc.Close()
- i=i+1
- OUT = list,listname,listtype,listvalue
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement