Model Facias in all roofs

Hi! I’m relatively new to Dynamo and I was trying to automate fascia modeling. I don’t know if its not possible or if I’m doing something wrong. I haven’t found anything related to that, the only post I found was this one: How to make a roof fascia
but it’s not really helpful because this person is using a roof by etrusion and all my roofs are by footprint.
I’ve been trying some stuff, here are two different ways I approached the problem, but they don’t seem to work… one of them is extracting the element sketch and using those curves, and the other is extracting lines from the roof solid shape. This last one is not ideal, (Its hard to target the right line) but I tried it anyways because it seemed pretty logical.


Has anyone been successful with modeling fascias automatically?

Maybe provide an example of your project you are testing with.

Hello Marticheru
Yes i have been succesfull with modeling fascias with dynamo
Do you also want to make a roof with dynamo?
Nico

modeling the fascias is not the biggest problem. The hardest part is determining the edges to which you want to place the fascias

This simple roof has allready 18 possible edges:

Hi Nico! thanks for your answer!
I already have the roofs, as they are part of the design process is not on my plan to model them automatically at the moment. but once I have the roofs modeled in my project, what is the best way to target the right edges? I need only the upper ones like the ones on the image you shared.
and second question, am I using the right node to model the fascias? the “Level” input seems wrong to model facias, but I haven’t found a better one
Thanks in advance for your time

Hello Marticheru

This is a graph and the Python script how to create Fascia’s :

# Enable Python support and load DesignScript library
import clr  #Imports Ironpython's Common Language Runtime module

clr.AddReference("RevitAPI")                    # (Import RevitAPI Classes)
from Autodesk.Revit.DB import *                 # (from Autodesk.Revit import DB  zou ook kunnen = het zelfde)

clr.AddReference("RevitServices")               # (Import DocumentManager)
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

doc = DocumentManager.Instance.CurrentDBDocument

# The inputs to this node will be stored as a list in the IN variables.
roofs = UnwrapElement(IN[0])
fasciaTypeIn = UnwrapElement(IN[1])

for a in fasciaTypeIn:
    fasciaType = a

roofCategory = BuiltInCategory.OST_Roofs
fasciaCategory = BuiltInCategory.OST_Fascia
# ******************************************************************************************
             # ****CREATE FASCIAS: ******    
# ******************************************************************************************

index = [1, 4, 7, 8]  # 18 posible edges!!!!!!
opt = Options()
opt.ComputeReferences = True
edgeRefs = []

for roof in roofs:
    for i in roof.get_Geometry(opt):
        edges = i.Edges
        for j in edges:
            edgeRefs.append(j.Reference)

TransactionManager.Instance.EnsureInTransaction(doc)        
for i in index:
    f = doc.Create.NewFascia(fasciaType, edgeRefs[i])
#    f.get_Parameter(BuiltInParameter.PHASE_CREATED).Set(_PhaseCreated.Id)
    f.LookupParameter("Horizontal Profile Offset").Set(-60/304.8)
    f.LookupParameter("Vertical Profile Offset").Set(-500/304.8) 
TransactionManager.Instance.TransactionTaskDone()

OUT = edges, f, edgeRefs