# Distancing

![Social Distancing](https://1430428134-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ld8QK19sjP1I9rhLouo%2F-MLhuVG884TWqW4uUB_6%2F-MLhv3E2ILIlXJTOfgXk%2Fdistancing.gif?alt=media\&token=11efde16-cd7c-4c3a-99ef-1559f5818293)

```d
def TooClose (elm:var[]..[],min)
{
	pnt1 = List.FirstItem(elm.GetLocation());
	elm2 = List.RestOfItems(elm);
	pnt2 = elm2.GetLocation();
	bln1 = pnt1.DistanceTo(pnt2) < min;
	elm3 = List.FilterByBoolMask(elm2,bln1)["out"];
	return elm3;
};

def Distancing (elm:var[]..[],min)
{
	return = [Imperative]
	{
		if (List.Count(elm)>1)
		{
			elm1 = [List.FirstItem(elm)];
			c = 1;
			while (List.Count(elm) > 1)
			{
				elm2 = TooClose (elm,min);
				elm1[c] = List.FirstItem(elm2);
				elm = elm2;
				c = c + 1;
			}
			return elm1;
		}
		else
		{
			return elm;
		}
	}
};
```

![](https://1430428134-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ld8QK19sjP1I9rhLouo%2F-MLhuVG884TWqW4uUB_6%2F-MLhvSprY0Z2OOHNdpjL%2Fdistancing_2020-11-09_09-53-28.png?alt=media\&token=7b5e9f3a-bd60-4459-9090-a1f33f8bba37)

{% file src="<https://1430428134-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ld8QK19sjP1I9rhLouo%2F-MLhuVG884TWqW4uUB_6%2F-MLhvYVwC4qhtxuhbtkv%2Fdistancing.zip?alt=media&token=37e86ad4-156e-4378-a8c8-6fd5d60d7029>" %}
Dynamo 2.8
{% endfile %}
