Create reference Plane at level

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