# Beams at Adaptive component location(Mass Family) with Dynamo

**URL:** <https://forum.dynamobim.com/t/beams-at-adaptive-component-location-mass-family-with-dynamo/5110>\
**Category:** Revit\
**Created:** [July 20, 2016, 3:11am UTC](https://forum.dynamobim.com/t/beams-at-adaptive-component-location-mass-family-with-dynamo/5110 "2016-07-20T03:11:22Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![salvatoredragotta](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/salvatoredragotta/32/10078_2.png) [@salvatoredragotta](https://forum.dynamobim.com/u/salvatoredragotta)\
**Post date:** [July 20, 2016, 3:11am UTC](https://forum.dynamobim.com/t/beams-at-adaptive-component-location-mass-family-with-dynamo/5110/1 "2016-07-20T03:11:23Z")

</div>

Hey Everybody,

I’m using dynamo to place a structural beam where I have an adaptive component.

I’ve actually the adaptive component inside a parametric mass family.

As long as the script is kept opened, when I change the parameters in the mass family the beam location is updated.

But If I close the script and reopen it, a new beam is created.

Refer to the attached images.

What am I missing?

Thanks

 ![](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/2X/d/dc913f101415fc58a281d77d8f346e6b6086b058.png)

 ![](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/2X/4/4bb29cb0197644055f3711b03366f16e19648046.png)

---

<div class="post-metadata">

**Author:** ![Kulkul](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/kulkul/32/49801_2.png) [@Kulkul](https://forum.dynamobim.com/u/Kulkul)\
**Post date:** [July 20, 2016, 6:06am UTC](https://forum.dynamobim.com/t/beams-at-adaptive-component-location-mass-family-with-dynamo/5110/2 "2016-07-20T06:06:26Z")

</div>

Hi Salvo,

Can you drop here rvt file or send us the link of the rvt file with mass family in it.

---

<div class="post-metadata">

**Author:** ![salvatoredragotta](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/salvatoredragotta/32/10078_2.png) [@salvatoredragotta](https://forum.dynamobim.com/u/salvatoredragotta)\
**Post date:** [July 20, 2016, 6:31am UTC](https://forum.dynamobim.com/t/beams-at-adaptive-component-location-mass-family-with-dynamo/5110/3 "2016-07-20T06:31:19Z")

</div>

@KulKul see attached rvt (Revit 2016) and dyn [test AC dynamo.rvt](https://forum.dynamobim.com/uploads/short-url/BTJxQ0UWqcuHtL41Q0rZ3FKDfc.rvt) (1.1 MB)  
[AC Dynamo.dyn](https://forum.dynamobim.com/uploads/short-url/eDqFLehTFGla054eUjyhCmTA2ND.dyn) (12.4 KB)

---

<div class="post-metadata">

**Author:** ![Vikram\_Subbaiah](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/vikram_subbaiah/32/50797_2.png) [@Vikram\_Subbaiah](https://forum.dynamobim.com/u/Vikram_Subbaiah)\
**Post date:** [July 20, 2016, 6:41am UTC](https://forum.dynamobim.com/t/beams-at-adaptive-component-location-mass-family-with-dynamo/5110/4 "2016-07-20T06:41:51Z")

</div>

> [@salvatoredragotta](#):
>
> What am I missing?

Nothing. This is how Dynamo works.  
When you open a file afresh, it may be a good idea to delete all geometry generated earlier by the same definition.

---

<div class="post-metadata">

**Author:** ![salvatoredragotta](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/salvatoredragotta/32/10078_2.png) [@salvatoredragotta](https://forum.dynamobim.com/u/salvatoredragotta)\
**Post date:** [July 20, 2016, 10:25pm UTC](https://forum.dynamobim.com/t/beams-at-adaptive-component-location-mass-family-with-dynamo/5110/5 "2016-07-20T22:25:48Z")

</div>

@Vikram Subbaiah Thanks. That is disappointing 😁  
In a real project deleting all geometry generated earlier is not an option or the tags will go with it.  
Anybody can think of a workaround?

---

<div class="post-metadata">

**Author:** ![Thomas\_Mahon](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/thomas_mahon/32/64209_2.png) [@Thomas\_Mahon](https://forum.dynamobim.com/u/Thomas_Mahon)\
**Post date:** [July 20, 2016, 10:37pm UTC](https://forum.dynamobim.com/t/beams-at-adaptive-component-location-mass-family-with-dynamo/5110/6 "2016-07-20T22:37:07Z")

</div>

Nope, it’s a workflow flaw. Your only workaround is to also generate the tags, i.e. get Dynamo to generate everything so no manual work is required. However, this is largely impractical. Despite the fanfare, and Dynamo is great, it’s still needs a few more years of maturity before it can truly be called game changing.

---

<div class="post-metadata">

**Author:** ![Konrad\_K\_Sobon](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/konrad_k_sobon/32/8838_2.png) [@Konrad\_K\_Sobon](https://forum.dynamobim.com/u/Konrad_K_Sobon)\
**Post date:** [July 20, 2016, 11:09pm UTC](https://forum.dynamobim.com/t/beams-at-adaptive-component-location-mass-family-with-dynamo/5110/7 "2016-07-20T23:09:32Z")

</div>

you can get fancy and store the generated elements ids into a TXT file. Before placing new beams you would check that file for existing ids and instead of deleting them, just update their locations. As much as that seems like a possible workflow, I am not sure if its worth the hassle. You will have to decide that yourself.

---

<div class="post-metadata">

**Author:** ![salvatoredragotta](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/salvatoredragotta/32/10078_2.png) [@salvatoredragotta](https://forum.dynamobim.com/u/salvatoredragotta)\
**Post date:** [July 21, 2016, 12:42am UTC](https://forum.dynamobim.com/t/beams-at-adaptive-component-location-mass-family-with-dynamo/5110/8 "2016-07-21T00:42:46Z")

</div>

@Thomas Mahon. Thanks for your reply.I agree this is not practical. Even if you replace the the tags, manual work will still be needed (text clash, etc…)

@Konrad K Sobon, Thanks for your reply.Not sure how to implement your proposed workflow. Once I know have the list of the existing beam ids how do I get to updated their location based on the mass family?

---

<div class="post-metadata">

**Author:** ![Dimitar\_Venkov](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/dimitar_venkov/32/2068_2.png) [@Dimitar\_Venkov](https://forum.dynamobim.com/u/Dimitar_Venkov)\
**Post date:** [July 21, 2016, 3:02am UTC](https://forum.dynamobim.com/t/beams-at-adaptive-component-location-mass-family-with-dynamo/5110/9 "2016-07-21T03:02:13Z")

</div>

Try saving your definition after placing the beams. That should store the beam guids inside the \*.dyn file and update the already placed beams the next time around. You’ll know it has worked when your \*.dyn file increases in size significantly.

Here’s one possible alternative, similar to what Konrad suggested:

> [@Dynamo Script does not remember Beams created](https://forum.dynamobim.com/t/dynamo-script-does-not-remember-beams-created/4525/7):
>
> Here’s an interesting thought experiment. You can try to manually “internalize” the elements into your graph. Let’s say you create some beams on the initial run. You then proceed to record their IDs as strings like so: and paste the result into a new code block. Once the design has been revised, you fire up your graph once more, convert those id strings to revit elements with archi-lab’s node and modify their location and size like so: One of the biggest limitations is that…

---

<div class="post-metadata">

**Author:** ![salvatoredragotta](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/salvatoredragotta/32/10078_2.png) [@salvatoredragotta](https://forum.dynamobim.com/u/salvatoredragotta)\
**Post date:** [July 21, 2016, 4:13am UTC](https://forum.dynamobim.com/t/beams-at-adaptive-component-location-mass-family-with-dynamo/5110/10 "2016-07-21T04:13:36Z")

</div>

@Dimitar_Venkov. Thanks for your reply. It worked!🎉

Regarding your alternative, I get an empty list.

I’m using Guid instead but it shouldn’t matter.

 ![](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/2X/9/9fc1482d55fdfc91ef8e80bf68b60d6864ba558c.png)

---

<div class="post-metadata">

**Author:** ![Dimitar\_Venkov](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/dimitar_venkov/32/2068_2.png) [@Dimitar\_Venkov](https://forum.dynamobim.com/u/Dimitar_Venkov)\
**Post date:** [July 21, 2016, 6:17am UTC](https://forum.dynamobim.com/t/beams-at-adaptive-component-location-mass-family-with-dynamo/5110/11 "2016-07-21T06:17:10Z")

</div>

Is the output of “Element.Curves” a flat list like the beams? I suspect it’s outputting nested lists.

---

<div class="post-metadata">

**Author:** ![salvatoredragotta](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/salvatoredragotta/32/10078_2.png) [@salvatoredragotta](https://forum.dynamobim.com/u/salvatoredragotta)\
**Post date:** [July 21, 2016, 6:47am UTC](https://forum.dynamobim.com/t/beams-at-adaptive-component-location-mass-family-with-dynamo/5110/12 "2016-07-21T06:47:46Z")

</div>

> [@salvatoredragotta](#):
>
> @Dimitar_Venkov

you were right. 😀Thanks a lot.
