Roof.ByOutlineTypeAndLevel / Floor.ByOutlineTypeAndLevel

I created a graph to generate modeled finish floors using the room finish boundaries & the room’s floor finish property. It’s working pretty well at a basic level, but I’d like to swap it from floors to roofs.

I’m running into two issues so far: All Family Types of Category isn’t returning a list of the names of Roof Types, and Roof.ByOutlineTypeAndLevel gives an warning about the Outline input.

  • Is there another way to extract a list of roof types that are loaded into a project?
  • Is Roof.ByOutlineTypeAndLevel broken? Is it looking for a different curve input than Floor.ByOutlineTypeAndLevel? I’ve tried curves & polycurves so far without success.

Thank you!

Here’s the functional Floor graph:

Here are the broken parts of the Roof version:
Roof Types Output is missing unique Roof Type names:

Roof.ByOutlineTypeAndLevel warning message:

All Family Types of Category will not return system family.