Place multiple views on multiple sheets by coordinates

Hi @ckroenke,

Just had a look at your .dyn file and you are using an old version of the node. It was pointed out earlier in this thread that the node didn’t handle schedule properly (at all) and I incorporated this feature. See this post for the new node…

This should sort out your issue. At some point I will just chuck this in a package and you can download it. Seems pretty popular.

Cheers,
Dan

2 Likes

Sorry, I thought that’s the .dyn that I started mine with. It works now, so that’s amazing.

Thanks again @Daniel_Woodcock1 !

2 Likes

Can this put assembly views on sheets? struggling to get this working. trying to put 140 plan detail views on one sheet so i can look across them and adjust them.

1 Like

Hi @vanman,

I don’t see why it wouldn’t be able to do that. Could you post at least an image so we can have a look. Maybe there is something in the graph which will shed some light.

Cheers,
Dan

1 Like

Hi Daniel,

Thanks this would be so appreciated! I think i just haven’t fully understood how it works yet.

I get this error,
“Number of sheets does not match either the number of view lists of (or?) location lists”
if i have 140 views to put on a sheet to look at. do i need 140 location points?

Me trying to get it to work with 2 views

1 Like

Ha, Yup, you need the same amount of points as views. So basically, earlier in this post I explained the structure of how the inputs must be set up (python nodes do not allow for the built-in lacing we use on all packaged nodes). I’ll break this down again here…

So, we want to place multiple views on multiple sheets therefore we require a list of sheets (single list) and list of lists for the views (as it allows for multiple views per sheet), but these lists of list or views need locations, so, we need those locations (points) to have the same list structure as the views…a list of lists. Here is an example of the list structure…

List of sheets:
-[0]Sheet 1
-[1]Sheet 2

List of views
-[0]List of views on sheet 1
__[0]View 1
__[1]View 2
-[1]List of views on sheet 2
__[0]view 3
__[1]view 4
__[2]view 5

List of locations (points)
-[0]List of Locations on sheet 1
__[0]Location 1
__[1]Location 2
-[1]List of Location on sheet 2
__[0]Location 3
__[1]Location 4
__[2]Location 5

I hope this makes sense so far. Note how there are 2 sheets and also 2 sublists within a list of views and locations. This is how your data should look.

In the image you supplied, I would put a list.create node between the filter by bool node (views) and the views input to the python node. This will give you the list structure you need. :wink:

5 Likes

Dude you are so helpful and awesome! I’m going to keep reading through and understanding what your saying. My brain will eventually click, I’m almost there. thanks so much!!!

Holy i need to figure out some code (formula) bumps the location along the x point every time instead of inputting 140 locations

1 Like

No worries mate. As for creating 140 points, if they are in the same location then use the list.cycle node with the list.count of your sheet list.

If you are walking along an axis, then use the sequence node to generate 140 x values. Just plug in the starting value, how much you want to step, and how many times you want it to step.

You’ll get there though, it’s a little tricky at first, but we were all there once (or twice :joy:)

Be sure to create a new thread though if it is not directly related to the node. Keeps this one clean. :slight_smile:

2 Likes

cool thanks man ill give that ago. im sitting here with a pen and paper trying to remember my high school algebra. Cool will do :slight_smile:

Thanks man works great. so awesome :slight_smile:

1 Like

Ha! No algebra required thankfully. :wink:

1 Like

Hi @Daniel_Woodcock1,

Thanks for sharing this script. It seems really helpful. However I know I’m doing something wrong because I can get it to work. This might be a really silly question (I’m a newbie in Dynamo), but for someone like me who doesn’t has Python, what would be the last node where I should plug my lists of Sheets, views and points into in order to get the views place in the desired location? The Tool.PlaceViewsOnSheets doesn’t seem to work.
Here I’ll share a screenshot of my current script:

Many thanks in advance

1 Like

Hi @Daniel_Woodcock1
Love the dynamo scripts your doing for placing items on multiple sheets. I am just learning Dynamo so I have only been able to do the early graphs and have not yet mastered the visual display you produced on your latest graph. I was wondering however is it possible to set up the location of legends, views, keynotes etc on one sheet in revit (so they can be positioned accurately), use dynamo to extract the coordinates of each from this sheet, and feed this back into a series of selected sheets?

Cheers

Pete

1 Like

Hi @PeteGreenwood,

Yes, this is perfectly possible. You can get the viewport centre by using View.ViewPortBoxCentre from the steam package and then feed these, as well as the views and sheets you want to copy to.

Cheers,
Dan

2 Likes

@Daniel_Woodcock1

Hi Daniel,

Maybe I’m using your script in an incorrect way but I tried to test it with a single view on a sheet

There were no errors but it didnt work in Revit with my test view and test sheet. But it could be that I’m using it wrong

1 Like

Hello @Daniel_Woodcock1
I haven’t managed to get a proper preview of the elements. I become them in my model and not in the sheets where they will be place. Evenmore the “sheet” rectangle is out of scale so there is not relation between preview and result. I had expected to see them in the sheet, where they would be at the end. Does anyone know why it is so? Is there a way to make the preview in the sheets?
Thanks!

@DavidV I find the script is a bit “picky” :stuck_out_tongue: . You need to past the “Views” throw a List.Create in order to give them the proper list hierarchy.

1 Like

Hi Dan,

I modify your script and try to place one legend on 6 sheets on the same coordinates points. I do this because I don’t understand this: “sheets needs to be a single list of sheets (no nesting) and the inputs for views and locations must be a list of lists”.
I always get the message “The number of sheets don`t match…” or null. I don’t know what I’m doing wrong.

Any help much appreciated thanks

1 Like

If I remember well each View and Location needs to in a list, except the sheets. So Chop list by 1 on your locations and views will do the tric

Did it Work?

You almost have it. Your 2nd graf is almost correct. If I haven’t miss anything, you should just remove both Flatten after Create Points and Get Views.

Hi,
No, I have not tried your suggestions, but I found another way to filter the sheets which I want to place the legends and It work. I wil try again these next days, I want to have the possibility of inserting several views to several sheets at the same time . Thank you!!!