# Create legend view window schedule

**URL:** <https://forum.dynamobim.com/t/create-legend-view-window-schedule/111504>\
**Category:** Revit\
**Created:** [July 28, 2025, 12:15pm UTC](https://forum.dynamobim.com/t/create-legend-view-window-schedule/111504 "2025-07-28T12:15:43Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![JACOBS12](https://avatars.discourse-cdn.com/v4/letter/j/a9adbd/32.png) [@JACOBS12](https://forum.dynamobim.com/u/JACOBS12)\
**Post date:** [July 28, 2025, 12:15pm UTC](https://forum.dynamobim.com/t/create-legend-view-window-schedule/111504/1 "2025-07-28T12:15:43Z")

</div>

Good day,  
I am new here, did some limited experimenting with Dynamo. This time, I want to use Dynamo to create a window schedule, using the windows used in the project.  
Now, I have it so far that the windows are placed (using the Genius Loci Pacgage) but I am stuck with 2 things:

1. the windows should all line up at the top
2. I want the WIndow Type mark and quantity below each window.  
I dont know how to do that. Any help perhaps? I cannot upload my graph, but used this as an example:  
[How to use the "create legend component" node in the Genius Loci package"](https://forum.dynamobim.com/t/how-to-use-the-create-legend-component-node-in-the-genius-loci-package/85629)  
Thanks in advance

---

<div class="post-metadata">

**Author:** ![c.poupin](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/c.poupin/32/89152_2.png) [@c.poupin](https://forum.dynamobim.com/u/c.poupin)\
**Post date:** [July 28, 2025, 8:44pm UTC](https://forum.dynamobim.com/t/create-legend-view-window-schedule/111504/2 "2025-07-28T20:44:02Z")

</div>

Hi,

Here is an example (with horizontal points generated)

 ![create_horizontal_legende_DYN3_v0.2_2025-07-28_10-38-41](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/9/0/9046c64236eb31b9bf1c0e1b3cc467df6eda48b8.png)

the result

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/6/5/65479489396febadfbf46d65384862a49b4a2f81.png)

---

<div class="post-metadata">

**Author:** ![JACOBS12](https://avatars.discourse-cdn.com/v4/letter/j/a9adbd/32.png) [@JACOBS12](https://forum.dynamobim.com/u/JACOBS12)\
**Post date:** [July 29, 2025, 7:20am UTC](https://forum.dynamobim.com/t/create-legend-view-window-schedule/111504/3 "2025-07-29T07:20:33Z")

</div>

Awesome, thanks. I got it ALMOST to work, but my windows and text are all on top of each other, Guess it have to do with spacing, byt cant find the error.  
Also, seems like there is duplicates of each window place over each other.  
Here’s my blocks.

 ![Test2_2025-07-29_09-18-27](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/a/4/a4d5d3ae56652e83b535fa501c190140809cc89d.png)

---

<div class="post-metadata">

**Author:** ![c.poupin](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/c.poupin/32/89152_2.png) [@c.poupin](https://forum.dynamobim.com/u/c.poupin)\
**Post date:** [July 29, 2025, 1:29pm UTC](https://forum.dynamobim.com/t/create-legend-view-window-schedule/111504/4 "2025-07-29T13:29:55Z")

</div>

Try to increase this values (for my test, project’s unit was in meter)

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/4/2/4229fbe9409fd2be932be1052ea42dce2879bdb7.jpeg)

---

<div class="post-metadata">

**Author:** ![JACOBS12](https://avatars.discourse-cdn.com/v4/letter/j/a9adbd/32.png) [@JACOBS12](https://forum.dynamobim.com/u/JACOBS12)\
**Post date:** [July 29, 2025, 1:43pm UTC](https://forum.dynamobim.com/t/create-legend-view-window-schedule/111504/5 "2025-07-29T13:43:36Z")

</div>

Thanks you are right, I’ve figured it out. Appreciate.  
I found that all the elements are duplicates though, placed acactly on top of each other. When moving, for example I have to move 2 instances.  
edit: I saw that only occurs when I have more than one instance in my project.

Herewith my graph:

 ![Window Schedule_2025-07-29_04-03-04](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/5/e/5ebe38469ee5babf11d67fd4a2aab0cc9a8fdb75.png)

Is it possible to dimension these windows also with dynamo?

Thanks, appreciate!

---

<div class="post-metadata">

**Author:** ![c.poupin](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/c.poupin/32/89152_2.png) [@c.poupin](https://forum.dynamobim.com/u/c.poupin)\
**Post date:** [July 29, 2025, 9:17pm UTC](https://forum.dynamobim.com/t/create-legend-view-window-schedule/111504/6 "2025-07-29T21:17:49Z")

</div>

> [@JACOBS12](#):
>
> edit: I saw that only occurs when I have more than one instance in my project.

Strange, you execute the graph in manual mode ?, can you share a simple rvt file ?

> [@JACOBS12](#):
>
> Is it possible to dimension these windows also with dynamo?

It’s probably possible (never tried), but it requires special development (Python or C#).

---

<div class="post-metadata">

**Author:** ![sovitek](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/sovitek/32/116237_2.png) [@sovitek](https://forum.dynamobim.com/u/sovitek)\
**Post date:** [July 30, 2025, 5:05am UTC](https://forum.dynamobim.com/t/create-legend-view-window-schedule/111504/7 "2025-07-30T05:05:58Z")

</div>

Hi @JACOBS12 you could try play around with something here…but guess the original already have a solution, so just mark Cyrils solution, so it could help other as well 😉

 ![Skærmbillede 2025-07-30 070433](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/5/7/5742c5734e27283aa967f3402fb3b5a8464889ca.png)

---

<div class="post-metadata">

**Author:** ![JACOBS12](https://avatars.discourse-cdn.com/v4/letter/j/a9adbd/32.png) [@JACOBS12](https://forum.dynamobim.com/u/JACOBS12)\
**Post date:** [July 30, 2025, 5:59am UTC](https://forum.dynamobim.com/t/create-legend-view-window-schedule/111504/8 "2025-07-30T05:59:16Z")

</div>

> [@c.poupin](#):
>
> Strange, you execute the graph in manual mode ?, can you share a simple rvt file ?

I found it have something to do with Alle ELements of Category \> List.GroupByFunction. I have plugged in List.UniqueItems inbetween, now the windows are not duplicated. But soon as I plug that into the name and Qty, the Qty change to 1 only. So to get the Qty, I cant do Unique Items. Dont know how to get around that though. Ive done a manual run, and also via DynamoPlayer, and tested in different rvt files. Same issue. I would have a qty of 4 of teh same windows in the project for example, and in the legend when run, it place only one instance of each window, but 4 instances of the text

Here is my graph

 ![bb](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/e/7/e7c3267dfaaecf1f34b4619023e19c9896fed472.png)

---

<div class="post-metadata">

**Author:** ![c.poupin](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/c.poupin/32/89152_2.png) [@c.poupin](https://forum.dynamobim.com/u/c.poupin)\
**Post date:** [July 31, 2025, 4:37pm UTC](https://forum.dynamobim.com/t/create-legend-view-window-schedule/111504/9 "2025-07-31T16:37:01Z")

</div>

You could try using the Python script directly (to see if there’s a difference)

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/4/4/444efb7ffa098fd6cc493ac4332185a96340000d.png)

```python
#Idea by Oliwer Kulpa : https://thebuildingcoder.typepad.com/blog/2010/05/duplicate-legend-component.html
import clr
# Import RevitAPI Classes
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *

clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.GeometryConversion)

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

doc = DocumentManager.Instance.CurrentDBDocument

view = UnwrapElement(IN[0]) if isinstance(IN[0],list) else [UnwrapElement(IN[0])]
view=view[0]
family_types = UnwrapElement(IN[1]) if isinstance(IN[1],list) else [UnwrapElement(IN[1])]
translations = IN[2] if isinstance(IN[2],list) else [IN[2]]
output=[]

existing_legend_component = FilteredElementCollector(doc, view.Id).OfCategory(BuiltInCategory.OST_LegendComponents).FirstElement()
# Get the location of the existing_legend_component
box = existing_legend_component.get_BoundingBox(view)
mid = (box.Min.Add(box.Max)).Multiply(0.5)

# Start Transaction
TransactionManager.Instance.EnsureInTransaction(doc)
for translation,family_type in zip(translations,family_types):
    # Copy the existing legend component at the correct location
    new_legend_component = ElementTransformUtils.CopyElement(doc, existing_legend_component.Id,translation.ToRevitType().Subtract(mid))
    # Change the family type of the new element
    doc.GetElement(new_legend_component[0]).get_Parameter(BuiltInParameter.LEGEND_COMPONENT).Set(family_type.Id)
    output.append(doc.GetElement(new_legend_component[0]))
doc.Regenerate()
# End Transaction
TransactionManager.Instance.TransactionTaskDone()

OUT=output

```

here is the dyn

[create\_horizontal\_doors\_legend\_DYN3\_v0.1.dyn](https://forum.dynamobim.com/uploads/short-url/z597WD9VWYgreeTIELR2sngOVB8.dyn) (32.9 KB)

---

<div class="post-metadata">

**Author:** ![sovitek](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/sovitek/32/116237_2.png) [@sovitek](https://forum.dynamobim.com/u/sovitek)\
**Post date:** [August 1, 2025, 3:18am UTC](https://forum.dynamobim.com/t/create-legend-view-window-schedule/111504/10 "2025-08-01T03:18:54Z")

</div>

Guess we can use copy by vector from clockwork as well and then set the family, should work in legend also 😉

---

<div class="post-metadata">

**Author:** ![sovitek](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/sovitek/32/116237_2.png) [@sovitek](https://forum.dynamobim.com/u/sovitek)\
**Post date:** [August 1, 2025, 3:34am UTC](https://forum.dynamobim.com/t/create-legend-view-window-schedule/111504/11 "2025-08-01T03:34:22Z")

</div>

and something here for create dimensison in legend…

![Revit_KQAisCqLFS](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/9/9/99c4682e91e1026981faca614653987070978193.gif)

---

<div class="post-metadata">

**Author:** ![JACOBS12](https://avatars.discourse-cdn.com/v4/letter/j/a9adbd/32.png) [@JACOBS12](https://forum.dynamobim.com/u/JACOBS12)\
**Post date:** [August 1, 2025, 8:16am UTC](https://forum.dynamobim.com/t/create-legend-view-window-schedule/111504/12 "2025-08-01T08:16:10Z")

</div>

Somehow I am missing something - Attached my DYN file, maybe someone can find what I am missing. Get this error

 ![Screenshot 2025-08-01 101540](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/7/d/7daea61dd5d1299205be331d9c62faaa192bbf56.png)

[BAK\_Window Schedule.dyn](https://forum.dynamobim.com/uploads/short-url/xkp2Bf8fAE9BF9P5TlaIjrzjxvu.dyn) (232.4 KB)
