# FamilyInstance.ByPointinView - Clockwork package - Doubt

**URL:** <https://forum.dynamobim.com/t/familyinstance-bypointinview-clockwork-package-doubt/3706>\
**Category:** Packages\
**Created:** [April 12, 2016, 4:06am UTC](https://forum.dynamobim.com/t/familyinstance-bypointinview-clockwork-package-doubt/3706 "2016-04-12T04:06:13Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Manel\_Fernandez](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/manel_fernandez/32/9123_2.png) [@Manel\_Fernandez](https://forum.dynamobim.com/u/Manel_Fernandez)\
**Post date:** [April 12, 2016, 4:06am UTC](https://forum.dynamobim.com/t/familyinstance-bypointinview-clockwork-package-doubt/3706/1 "2016-04-12T04:06:13Z")

</div>

Hi there, I’ve some problems with this node and I would like to know if this node is just for one view and one family type or I could input a list of family types and a list of views. I created a script that works if I use just one view and one family type, but doen’t work if a use a list of those. I don’t know if I did sth wrong or it is the node that doesn’t accept lists.

![Captura](https://cdck-file-uploads-us1.s3.dualstack.us-west-2.amazonaws.com/flex022/uploads/dynamobim/original/2X/7/785a79f966d8bc4970fa435b0b526487cdd616ef.jpg)

---

<div class="post-metadata">

**Author:** ![Manel\_Fernandez](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/manel_fernandez/32/9123_2.png) [@Manel\_Fernandez](https://forum.dynamobim.com/u/Manel_Fernandez)\
**Post date:** [April 14, 2016, 5:25am UTC](https://forum.dynamobim.com/t/familyinstance-bypointinview-clockwork-package-doubt/3706/2 "2016-04-14T05:25:17Z")

</div>

The node doen’t accept list.

I don’t know how to solve it ☹

&nbsp;

---

<div class="post-metadata">

**Author:** ![Paul\_Aubin](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/paul_aubin/32/9908_2.png) [@Paul\_Aubin](https://forum.dynamobim.com/u/Paul_Aubin)\
**Post date:** [October 21, 2018, 2:41pm UTC](https://forum.dynamobim.com/t/familyinstance-bypointinview-clockwork-package-doubt/3706/3 "2018-10-21T14:41:33Z")

</div>

Does anyone have a suggested alternative to the node mentioned by the OP? I have the same question/issue. I want to place a list of items on a list of sheets. It works fine with this node if I feed in one sheet. But not with a list. Does anyone know a way around that?

If not this node, how would I loop grabbing the items from the sheet list one at a time and feeding in? Thank you.

---

<div class="post-metadata">

**Author:** ![MartinSpence](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/martinspence/32/25208_2.png) [@MartinSpence](https://forum.dynamobim.com/u/MartinSpence)\
**Post date:** [October 21, 2018, 8:48pm UTC](https://forum.dynamobim.com/t/familyinstance-bypointinview-clockwork-package-doubt/3706/4 "2018-10-21T20:48:03Z")

</div>

Hi @Paul_Aubin,

By adjusting @Andreas_Dieckmann’s node a little bit, you can achieve what you are after:

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/0/1/01def87996079512aff61849f04cfd48c1848d44.png)

Python script:

```
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *

clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)

clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

doc = DocumentManager.Instance.CurrentDBDocument
points = UnwrapElement(IN[0])
famtype = UnwrapElement(IN[1])
views = UnwrapElement(IN[2])
elementlist = list()
counter = 0

TransactionManager.Instance.EnsureInTransaction(doc)
# make sure familysymbol is active
if famtype.IsActive == False:
	famtype.Activate()
	doc.Regenerate()
for v in views:
	temp = []
	for p in points:
		newobj = doc.Create.NewFamilyInstance(p.ToXyz(),famtype,v)
		temp.append(newobj.ToDSType(False))
	elementlist.append(temp)
TransactionManager.Instance.TransactionTaskDone()
OUT = elementlist

```

And a big thanks to you for the many hours of really good and educational video material 🙂

---

<div class="post-metadata">

**Author:** ![Paul\_Aubin](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/paul_aubin/32/9908_2.png) [@Paul\_Aubin](https://forum.dynamobim.com/u/Paul_Aubin)\
**Post date:** [October 21, 2018, 10:33pm UTC](https://forum.dynamobim.com/t/familyinstance-bypointinview-clockwork-package-doubt/3706/5 "2018-10-21T22:33:09Z")

</div>

Hi Martin:

Thank you for the reply and the kind comments about my work.

So, I Know nothing about Python, but I pasted your code in and modified my graph and it worked! Thank you!

I had almost replied back with another issue, but i figured it out before posting. The output of the Python node generated a four-level list, but I needed it to be a three-level before it worked correctly. Flatten to the rescue! Got to pay close attention to those list structures…

SO thank you again. This works like a charm now. Very pleased.

---

<div class="post-metadata">

**Author:** ![piuspatel](https://avatars.discourse-cdn.com/v4/letter/p/b2d939/32.png) [@piuspatel](https://forum.dynamobim.com/u/piuspatel)\
**Post date:** [December 19, 2018, 8:05pm UTC](https://forum.dynamobim.com/t/familyinstance-bypointinview-clockwork-package-doubt/3706/6 "2018-12-19T20:05:48Z")

</div>

When I am inserting a scale bar in different sheets at specific points. This is not allowing multiple instances in the same sheet in sequence but when I insert once in sheet M001 then insert in sheet M002 and then comeback in M001 it is working. When I insert one view with scale bar in M001 and then I insert second view in the same sheet M001 it is not working.

I tried by inserting above code but it is not working at all.

---

<div class="post-metadata">

**Author:** ![steinah6](https://avatars.discourse-cdn.com/v4/letter/s/90ced4/32.png) [@steinah6](https://forum.dynamobim.com/u/steinah6)\
**Post date:** [June 3, 2019, 3:21pm UTC](https://forum.dynamobim.com/t/familyinstance-bypointinview-clockwork-package-doubt/3706/7 "2019-06-03T15:21:15Z")

</div>

Hi Martin,  
I’m having some trouble with your code. I need to create elements at points in sub-list index 0 on view A, and at points in sub-list index 1 on view B. Can this be done? I can’t seem to figure out how to add list Levels to the python script.

---

<div class="post-metadata">

**Author:** ![MartinSpence](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/martinspence/32/25208_2.png) [@MartinSpence](https://forum.dynamobim.com/u/MartinSpence)\
**Post date:** [June 3, 2019, 4:11pm UTC](https://forum.dynamobim.com/t/familyinstance-bypointinview-clockwork-package-doubt/3706/8 "2019-06-03T16:11:21Z")

</div>

Hi @steinah6,

To utilize List@Level, it would require wrapping the python script into a costum node. If I remember correctly, this is described in the Dynamo Primer.

From your description on what you are aiming to do, it would require a little different approach in regards to the python part. The zip() function would do what you are after here, but I can’t demonstrate it right now. It would have to wait until tomorrow, unless someone else chips in 😉

---

<div class="post-metadata">

**Author:** ![steinah6](https://avatars.discourse-cdn.com/v4/letter/s/90ced4/32.png) [@steinah6](https://forum.dynamobim.com/u/steinah6)\
**Post date:** [June 3, 2019, 4:36pm UTC](https://forum.dynamobim.com/t/familyinstance-bypointinview-clockwork-package-doubt/3706/9 "2019-06-03T16:36:47Z")

</div>

I read the primer and was able to create a custom node. But I couldn’t wrap my head around the zip() function in Python.

It can wait until tomorrow, my script works for the current view which is fine for now. Thank you!

---

<div class="post-metadata">

**Author:** ![MartinSpence](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/martinspence/32/25208_2.png) [@MartinSpence](https://forum.dynamobim.com/u/MartinSpence)\
**Post date:** [June 3, 2019, 4:50pm UTC](https://forum.dynamobim.com/t/familyinstance-bypointinview-clockwork-package-doubt/3706/10 "2019-06-03T16:50:07Z")

</div>

Alright, no probs 🙂

---

<div class="post-metadata">

**Author:** ![steinah6](https://avatars.discourse-cdn.com/v4/letter/s/90ced4/32.png) [@steinah6](https://forum.dynamobim.com/u/steinah6)\
**Post date:** [June 3, 2019, 5:36pm UTC](https://forum.dynamobim.com/t/familyinstance-bypointinview-clockwork-package-doubt/3706/11 "2019-06-03T17:36:04Z")

</div>

I think I found a modified .dyf that should accept lists, but I can’t download it. Post #5 here:

> [@Convert String List to Element List](https://forum.dynamobim.com/t/convert-string-list-to-element-list/2213/5):
>
> Dimitar, Always the misspelling… :-s Thanks, it is working perfectly! I have one last question: I need the output list from your Python Code to be the input on the FamilyInstance.ByPointInView node but I’ve noticed that it expects a single string, not a list. Is there a way to make it accept lists? My intent is to place 13,663 instances of a family type on 13,663 different points and views. That’s why I have a list of 13,663 view variations based on 28 actual views. Thanks, Eduardo Tavares […

The link seems to be broken and is taking me here:  
[https://dynamobim.orgwp-content/uploads/forum-assets/eduardo-tavaresquattrod-com-br/09/22/FamilyInstance.ByPointInViewList.dyf](https://dynamobim.orgwp-content/uploads/forum-assets/eduardo-tavaresquattrod-com-br/09/22/FamilyInstance.ByPointInViewList.dyf)
