Hey guys,
I’m currently trying to place FamilyInstances (Face-Based) on different heights. Using the Place FamilyInstance By Point and Level Node doesn’t work for me.
Therefore I want to create refPlanes on different Levels and use a short Python Script to place Instances.
My Problem: I just can’t handle creating horizontal reference planes. At the end verticale are always created.
Thanks for help in advance!
Martin
ReferencePlane.ByLine presumes that the plane is parallel to Z.
You can create horizontal ref planes with Python/Revit API, for example for a horizontal plane:
import clr
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
doc = DocumentManager.Instance.CurrentDBDocument
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
from RevitServices.Transactions import TransactionManager
TransactionManager.Instance.EnsureInTransaction(doc)
#the method NewReferencePlane2 needs 3 points on the plane,
# Arguments: First Point, Second Point, Third Point, View
RefPlane = doc.Create.NewReferencePlane2(XYZ(0,0,0),XYZ(1000,1000,0),XYZ(0,1000,0),doc.GetElement(ElementId(2795)))
TransactionManager.Instance.TransactionTaskDone()
OUT = RefPlane
As horizontal planes do not show on plans, check Elevation/Section views or create sections to see them.
1 Like
Hi,
i’m trying to use your python to create horizontal reference planes. However it throws up this error…
am i making a silly mistake?
there should be * at the end of from Autodesk.Revit.DB import
from Autodesk.Revit.DB import *
2 Likes
Great, thanks for the quick response!
I’ve also realized with the python as written, i don’t need to put all the inputs i had in the image.
Many thanks,
James