本文主要是介绍011、获取Revit设计选项,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天来一段简单的代码,获取Revit设计选项,来说说Dynamo一个比较常用的方法:
FilteredElementCollector Methods
这个方法的很有用,很多图元的获取都要通过这种方式。
我们打开API手册,直接搜索FilteredElementCollector,就能找到所有的方法,这里我们用到的OfClass方法,按类别收集图元。
点进去以后,就能找到基本语法:
我们继续往下翻,能看到举例:
我们要用的方法,也基本一样,然后继续往下翻,到最底部,找到Autodesk.Revit.DB Namespace,点进去,就能看到所有的Classes:
一直往下翻,很容易就能找到我们要用的DesignOption。到这里,我们的基本语法就有了:
FilteredElementCollector(doc).OfClass(DesignOption).ToElements()
然后只需要完善这段代码即可,并且可以获取它的名字。
完整代码如下:
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManagerfrom System.Collections.Generic import *clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
app = uiapp.ApplicationdesignOp = FilteredElementCollector(doc).OfClass(DesignOption).ToElements()
designOpNames = []
for i in designOp:designOpNames.append(i.Name.ToString())OUT = designOp, designOpNames
好了,很简单的一段代码,今天先分享这么多,想要用好API文档,只能多翻、多练,一起练习吧~
这篇关于011、获取Revit设计选项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!