ScheduleSheetInstance Coordinates

Hello Everyone,

I’m trying to get the coordinates of a scheduleSheetInstance. I tried some differents methodes (2 differents actualy) and I can’t get a good result. The coordinates I’m looking for is the center coordinate. Do you have any ideas about it?

The Point method returns the insertion point which is the top left corner of the schedule instance (this location does not change). You might be able to get the center point by using a bounding box.

I tried the point method, but I can’t find how to get the bounding box. This method doesn’t work… Did I make something wrong?

Again you would likely have to use Python in this case.
http://www.revitapidocs.com/2018/def2f9f2-b23a-bcea-43a3-e6de41b014c8.htm

Well, I’m not a big fan of Python, because I’ve never learned it properly… There is no solution using dynamo? with packages maybe? Is there a python script already existing for this case?

Hey there,

Here’s the snippet of code I made for this.

Hope that helps

import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

# Les entrées effectuées dans ce noeud sont stockées sous forme de liste dans les variables IN.
schedules = UnwrapElement(IN[0])
result = []

for schedule in schedules:
	loc = schedule.Point
	result.append(Point.ByCoordinates(loc.X,loc.Y,loc.Z))
	
# Affectez la sortie à la variable OUT.
OUT = result

Hi !

hm, that didn’t work, here is what Dynamo says :

I think your code is not for ScheduleSheetInstance…

Can you insert a watch node after the “schedules” output ?

Your schedule output is a list of lists. You need to flatten it before the python node.

I would also highly recommend taking the time to at least learn the basics of Python. While there are many core and custom nodes that can help with Revit functions, being able to utilize the entire API will make these more complex or less common processes a breeze.

Ok Thanks.

Yes I know that… I’m working on it, but I’d higly rather doing it without having to write lines of code ^^. If I have no other choice, I’m doing it…

Is it possible to use this to place a bunch of schedules that i have already created? and use a single input for the location?
i have a list of schedules and i have the into location of a set up sheet and i want to place the rest using this Graph but i need to be able it input a list of schedules

The code above is for getting the location of an existing schedule only. So it would take some recoding in order to place schedules onto sheets. Use Viewport.Create from rhythm to place schedules on sheets. You may have to manipulate the lacing and the levels, depending on how you have your schedules, points and sheets lists formatted.

image

Btw, it’s always best to start a new thread versus high-jacking an existing one. Especially if the original thread already has a solution. You can always reference the original thread if needed. New threads are more actively monitored and will yield quicker responses.

1 Like

thanks