Hello
try this version
#written by Cyril P
import clr
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
doc = DocumentManager.Instance.CurrentDBDocument
lnkInstance = UnwrapElement(IN[0])
category = UnwrapElement(IN[1])
transf =lnkInstance.GetTotalTransform()
actView = doc.ActiveView
doclnk = lnkInstance.GetLinkDocument()
#get bootom and top Elevation of active viewrange
viewRange = actView.GetViewRange()
topClipPlaneId = viewRange.GetLevelId(PlanViewPlane.TopClipPlane)
topClipPlane = doc.GetElement(topClipPlaneId)
topOffset = viewRange.GetOffset(PlanViewPlane.TopClipPlane)
bttmClipPlaneId = viewRange.GetLevelId(PlanViewPlane.BottomClipPlane)
bttmClipPlane = doc.GetElement(bttmClipPlaneId)
bttmOffset = viewRange.GetOffset(PlanViewPlane.BottomClipPlane)
bbxActView = actView.CropBox
#set min and max from active ViewRange
bbxActView.Min = XYZ(bbxActView.Min.X, bbxActView.Min.Y, bttmClipPlane.Elevation + bttmOffset)
bbxActView.Max = XYZ(bbxActView.Max.X, bbxActView.Max.Y, topClipPlane.Elevation + topOffset)
bbxActView.Transform = transf
myOutLn = Outline(bbxActView.Min, bbxActView.Max)
#create LogicalOrFilter with BoundingBox
filterBbxInside = BoundingBoxIsInsideFilter(myOutLn)
filterBbxInters = BoundingBoxIntersectsFilter(myOutLn)
filterBbx = LogicalOrFilter(filterBbxInside, filterBbxInters)
#make collector
fecActiveView = FilteredElementCollector(doclnk).OfCategoryId(category.Id).WherePasses(filterBbx).ToElements()
OUT = fecActiveView