Cant see pipe


can’t see pipe but pipe fitting not duct bt duct fitting what’s wrong in this

Check the Reference Level of your ducts and pipes - Are they on Level 3?

Yea its on level 3 and i have pipe and duct on lvl 3 also

What do you get from this Python code when you input a Level
image

import clr

from System.Collections.Generic import List

clr.AddReference("RevitServices")
from RevitServices.Persistence import DocumentManager

clr.AddReference("RevitAPI")
from Autodesk.Revit.DB import *

doc = DocumentManager.Instance.CurrentDBDocument

level = UnwrapElement(IN[0])
elf = ElementLevelFilter(level.Id)

cats = List[BuiltInCategory]([BuiltInCategory.OST_DuctCurves, BuiltInCategory.OST_PipeCurves])
emcf = ElementMulticategoryFilter(cats)

OUT = FilteredElementCollector(doc).WherePasses(elf).WherePasses(emcf).ToElements()
1 Like

Filter or group the elements by category and then isolate them in the model. That should let you identify what is showing up in that list and where it’s coming from.

tried same in only duct model bt it select only fitting not duct or pipe


what is diff between this 2 I can select duct in +

I think I misunderstood your initial problem. Is the issue that you’re only getting fittings and none of the MEPCurve elements like Duct or Pipe? There are multiple parameters and properties that determine an element’s level and they are not all treated equally. Fittings have a Level parameter while MEPCurve elements have Reference Level.

@Mike.Buttery’s code should work. It filters the elements based on the LevelId regardless of the parameter or method used. The difference you’re seeing with those two nodes is the parameters/properties that are being checked for Level. All Elements at Level+ includes additional parameters. In fact, if you edit the custom node and the python code inside it, you can see all the parameters it’s checking for a level.

1 Like