Hi all,
I need to insert one family into multiple sheets. I’ve tried “FamilyInstance.ByPointinView” node but it didn’t work to me. (see screenshot below)
I also tried to copy scripts from similar topics,
- Insert Annotation Family to Multiple Sheets
- Insert Legend in sheet
I’ve always faced an error since I have ZERO background in programming as well as a newbie to dynamo!
(see screenshot below)
This is the script I copied:
import clr
#import Document Manager
clr.AddReference(“RevitServices”)
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
uidoc = DocumentManager.Instance.CurrentUIDocument
clr.AddReference(“RevitNodes”)
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)
clr.AddReference(“RevitAPI”)
from Autodesk.Revit.DB import *
dataEnteringNode = IN
family = UnwrapElement(IN[0])
sheets = IN[1]
loc = XYZ(IN[2].X, IN[2].Y, IN[2].Z)
viewports =
failed =
for vs in sheets:
sheet = UnwrapElement(vs)
canAddToSht = canAddToSht = Viewport.CanAddViewToSheet(doc, sheet.id, family.id)
if canAddToSht:
try:
TransactionManager.Instance.EnsureInTransaction(doc)
viewport = Viewport.Create(doc, sheet.id, family.id, loc)
TransactionManager.Instance.TransactionTaskDone()
viewports.Add([viewport,sheet])
except:
failed.Add([“Failed”,sheet])
else:
failed.Add([“Failed”,sheet])
OUT = [viewports, failed]