Split view schedule instance

Hi

I’m trying to control schedule instances (on a sheet) based on a template schedule instance. I want to be able to:

Then once I have this:

I can’t see any OOTB or third-party nodes that would solve this. Any ideas if this functionality already exists?

Hi @Paul_Wintour i have never seen such a node in package…havent test but isnt that way if we split a scheduleonsheet it create a new instance scheduleonsheet…not sure havent tried

Splitting a schedule results in two scheduleSheetInstances, with different ids. They point to the same ScheduleID but have a different SegmentIndex.

Anyone have any ideas how to solve?

1 Like

allright i see :wink: but if we split a schedule on sheet, i guess it will take the schedule name and give 1/2 for one split and 1/3 with 2 split to the name, if im not wrong…not sure if it could help cant confirm 100 % as im not in dynamo revit now…probably sheets schedule node could help…i think something here maybe for test if split…, very alternative i know :wink: :wink:

Revit_uMZYW2PC3v

1 Like

Please clarify what you are wanting to do after checking if the schedule is split?
If it is split, you don’t want to do anything from this point.
If it isn’t split, you want to get the segment height and divide that into two equal parts and split the schedule or…?

1 Like

Apologies if my initial question was unclear. Once the schedule is placed it becomes a schedule instance and I can use the name to help workout if it has been split. I’m sure there is a more robust method, but Revit adds a 1/2 or 2/2 suffix to the view name. So checking if it the scheduleInstance is split is acheivable.

The next step is to find out what the segment heights are. This should be a standalone node for flexibilty (Workflow 1)

I then have a list of scheduleInstance placed on OTHER sheets that I want to modify. So I need these scheduleInstance to be split (if needed) based on a segment height (which I’ll know from workflow 1).

Does that make sense?

1 Like

Hi,
here is some research carried out

Python Script 1

import sys
import clr
clr.AddReference("RevitAPI")
import Autodesk 
from Autodesk.Revit.DB import ViewSchedule
scheduleview=UnwrapElement(IN[0])
conditionnal=[s.IsSplit() for s in scheduleview]
print (conditionnal)


OUT = [s for s in scheduleview if s.GetSegmentCount()>1]

Python Script 2

import sys
import clr
clr.AddReference("RevitAPI")
import Autodesk 
from Autodesk.Revit.DB import ViewSchedule
scheduleview=UnwrapElement(IN[0])
scheduleinstanceId=[]
scheduleinstanceId2=[]
for s in scheduleview:
    for a in range(s.GetSegmentCount()):
        z=s.GetScheduleInstances(a)
        scheduleinstanceId2.append(z[0])
    scheduleinstanceId.append(scheduleinstanceId2)
    scheduleinstanceId2=[]

OUT = scheduleinstanceId

We can do everything in 1 I think, but I’m still not alert enough on this point (one day maybe…)
Sincerely
christian.stan

2 Likes