# Geometry translate based on element name

**URL:** <https://forum.dynamobim.com/t/geometry-translate-based-on-element-name/16943>\
**Category:** Revit\
**Created:** [November 29, 2017, 12:07pm UTC](https://forum.dynamobim.com/t/geometry-translate-based-on-element-name/16943 "2017-11-29T12:07:27Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![jkolthof](https://avatars.discourse-cdn.com/v4/letter/j/9f8e36/32.png) [@jkolthof](https://forum.dynamobim.com/u/jkolthof)\
**Post date:** [November 29, 2017, 12:07pm UTC](https://forum.dynamobim.com/t/geometry-translate-based-on-element-name/16943/1 "2017-11-29T12:07:27Z")

</div>

Can someone give me a hint why this script is not working like I want;  
I have three different line names and they need to be placed at three different hights, but wathever I do, they are all placed at the same hieght.

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/b/7/b78a51e0ac05b9a4e510655ec19cd8df1980c519.png)

thanks for you help!

---

<div class="post-metadata">

**Author:** ![jkolthof](https://avatars.discourse-cdn.com/v4/letter/j/9f8e36/32.png) [@jkolthof](https://forum.dynamobim.com/u/jkolthof)\
**Post date:** [November 29, 2017, 12:10pm UTC](https://forum.dynamobim.com/t/geometry-translate-based-on-element-name/16943/2 "2017-11-29T12:10:06Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Yna\_Db](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/yna_db/32/30641_2.png) [@Yna\_Db](https://forum.dynamobim.com/u/Yna_Db)\
**Post date:** [November 29, 2017, 1:09pm UTC](https://forum.dynamobim.com/t/geometry-translate-based-on-element-name/16943/3 "2017-11-29T13:09:15Z")

</div>

It seems that the Z value has changed: could you add a screenshot showing those lines?

---

<div class="post-metadata">

**Author:** ![jkolthof](https://avatars.discourse-cdn.com/v4/letter/j/9f8e36/32.png) [@jkolthof](https://forum.dynamobim.com/u/jkolthof)\
**Post date:** [November 29, 2017, 1:14pm UTC](https://forum.dynamobim.com/t/geometry-translate-based-on-element-name/16943/4 "2017-11-29T13:14:08Z")

</div>

yes they are changed indeed but al by 2400 instead of 2200 for the lines that you see in the list. All lines are moved to 2400.  
If I use my codeblock with just one string the output is correct everytime, but with a list not.

---

<div class="post-metadata">

**Author:** ![Yna\_Db](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/yna_db/32/30641_2.png) [@Yna\_Db](https://forum.dynamobim.com/u/Yna_Db)\
**Post date:** [November 29, 2017, 1:16pm UTC](https://forum.dynamobim.com/t/geometry-translate-based-on-element-name/16943/5 "2017-11-29T13:16:27Z")

</div>

Try first to change the lacing to longest in the _Geometry.Translate_ node

---

<div class="post-metadata">

**Author:** ![jkolthof](https://avatars.discourse-cdn.com/v4/letter/j/9f8e36/32.png) [@jkolthof](https://forum.dynamobim.com/u/jkolthof)\
**Post date:** [November 29, 2017, 1:16pm UTC](https://forum.dynamobim.com/t/geometry-translate-based-on-element-name/16943/6 "2017-11-29T13:16:30Z")

</div>

![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/2/2/22e0ed0d3c1b66c4baa8d8d6fde1dd0d0c9137c4.png)

three different lines (blue, green, red / SPOED, CYTO, GENERAAL)  
and I need to place them at three different hights

---

<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:** [November 29, 2017, 1:16pm UTC](https://forum.dynamobim.com/t/geometry-translate-based-on-element-name/16943/7 "2017-11-29T13:16:45Z")

</div>

@jkolthof Try making these changes in your codeblock  
 ![ImperativeBlock](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/f/a/fae2c1b269605adc3eedeeaccbc8edc752160f54.png)

---

<div class="post-metadata">

**Author:** ![jkolthof](https://avatars.discourse-cdn.com/v4/letter/j/9f8e36/32.png) [@jkolthof](https://forum.dynamobim.com/u/jkolthof)\
**Post date:** [November 29, 2017, 1:24pm UTC](https://forum.dynamobim.com/t/geometry-translate-based-on-element-name/16943/8 "2017-11-29T13:24:44Z")

</div>

> [@Yna\_Db](#):
>
> Try first to change the lacing to longest in the Geometry.Translate node

that didn`t help.

---

<div class="post-metadata">

**Author:** ![Nick\_Boyts](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/nick_boyts/32/76313_2.png) [@Nick\_Boyts](https://forum.dynamobim.com/u/Nick_Boyts)\
**Post date:** [November 29, 2017, 1:25pm UTC](https://forum.dynamobim.com/t/geometry-translate-based-on-element-name/16943/9 "2017-11-29T13:25:09Z")

</div>

Or use DesignScript syntax.  
 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/4/8/48caf50e2e8d5c6f136f1a20a90b8bec370879cb.png)

---

<div class="post-metadata">

**Author:** ![jkolthof](https://avatars.discourse-cdn.com/v4/letter/j/9f8e36/32.png) [@jkolthof](https://forum.dynamobim.com/u/jkolthof)\
**Post date:** [November 29, 2017, 1:25pm UTC](https://forum.dynamobim.com/t/geometry-translate-based-on-element-name/16943/10 "2017-11-29T13:25:26Z")

</div>

what do you mean with lacing to the longest?

---

<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:** [November 29, 2017, 1:31pm UTC](https://forum.dynamobim.com/t/geometry-translate-based-on-element-name/16943/11 "2017-11-29T13:31:48Z")

</div>

@jkolthof Alternately you can replace your Imperative Code block with one line

`output = input1=="SPOED"?2000:input1=="CYTO"?2200:2400;`

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

Edit: This suggestion is the same as that provided by @Nick_Boyts above

---

<div class="post-metadata">

**Author:** ![jkolthof](https://avatars.discourse-cdn.com/v4/letter/j/9f8e36/32.png) [@jkolthof](https://forum.dynamobim.com/u/jkolthof)\
**Post date:** [November 29, 2017, 1:35pm UTC](https://forum.dynamobim.com/t/geometry-translate-based-on-element-name/16943/12 "2017-11-29T13:35:11Z")

</div>

cool, this works. I don`t know why, but it does.

---

<div class="post-metadata">

**Author:** ![jkolthof](https://avatars.discourse-cdn.com/v4/letter/j/9f8e36/32.png) [@jkolthof](https://forum.dynamobim.com/u/jkolthof)\
**Post date:** [November 29, 2017, 1:35pm UTC](https://forum.dynamobim.com/t/geometry-translate-based-on-element-name/16943/13 "2017-11-29T13:35:39Z")

</div>

thanks for helping!

---

<div class="post-metadata">

**Author:** ![Nick\_Boyts](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/nick_boyts/32/76313_2.png) [@Nick\_Boyts](https://forum.dynamobim.com/u/Nick_Boyts)\
**Post date:** [November 29, 2017, 1:39pm UTC](https://forum.dynamobim.com/t/geometry-translate-based-on-element-name/16943/14 "2017-11-29T13:39:22Z")

</div>

It’s just a nested If statement.

`input == 1 ? "This" : "That";`

`input == 1 ?` is the query, followed by the True value `"This"` and the False value `"That"`.

---

<div class="post-metadata">

**Author:** ![jkolthof](https://avatars.discourse-cdn.com/v4/letter/j/9f8e36/32.png) [@jkolthof](https://forum.dynamobim.com/u/jkolthof)\
**Post date:** [November 29, 2017, 1:51pm UTC](https://forum.dynamobim.com/t/geometry-translate-based-on-element-name/16943/15 "2017-11-29T13:51:25Z")

</div>

yes, but why it acts different than my codeblock?

---

<div class="post-metadata">

**Author:** ![Yna\_Db](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/yna_db/32/30641_2.png) [@Yna\_Db](https://forum.dynamobim.com/u/Yna_Db)\
**Post date:** [November 29, 2017, 2:09pm UTC](https://forum.dynamobim.com/t/geometry-translate-based-on-element-name/16943/16 "2017-11-29T14:09:43Z")

</div>

It could also work like so:  
 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/a/a/aa0db6a9cd1fc039599ad760abe03d0dbbe745c6.png)

---

<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:** [November 29, 2017, 2:11pm UTC](https://forum.dynamobim.com/t/geometry-translate-based-on-element-name/16943/17 "2017-11-29T14:11:13Z")

</div>

@jkolthof For your code block to work you’d need to do something like this …

 ![20171129-3](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/2/b/2b7e0e252fd9e8796c6a8b84f4b25e1a61858440.png)

```
input1;
output = [Imperative]
{
a = {};
b = 0;
for (c in input1)
	{
		if (c == "SPOED")
		{
			a[b] = 2000;
		}
		elseif (c == "CYTO")
		{
			a[b] = 2200;
		}
		else
		{
			a[b] = 2400;
		}
		b = b +1;
	}
return = a;
};
```

---

<div class="post-metadata">

**Author:** ![jkolthof](https://avatars.discourse-cdn.com/v4/letter/j/9f8e36/32.png) [@jkolthof](https://forum.dynamobim.com/u/jkolthof)\
**Post date:** [November 29, 2017, 2:25pm UTC](https://forum.dynamobim.com/t/geometry-translate-based-on-element-name/16943/18 "2017-11-29T14:25:15Z")

</div>

thanks very much.! I see you have to create a new list.

I my codeblock it outputed only the last vallue and not a list.
