Finding fittings elements ID connected to pipe connectors

Hi everyone,

I try to find fittings elements ID connected to vertical pipe connectors, I use node Connector.ConnectedElements and is working ok, but only for pipes without insulation, if I add insulation I will have insulation in the list, I don’t need insulation. Maybe someone has solution for this?


Hey, did you find a solution to this problem, as i’m having the same problem.

If not, does someone else have a solution?

Thanks in advance.
Greetings!

Hi @RMDD you could try filter out the insulation…

I done something like these

1 Like

Hello everyone and thanks for your replies. I tried filtering out the insulation, but that doesn’t solve the problem.
The problem is, that instead of finding the connector of the next element (i.e. pipe or duct) the script identifies the insulation as next element. So when i filter out the insulation i’m missing elements in the list.

I removed the insulation and the script worked perfectly. Unfortunately that is not an option in the future.

Does anyone know why the insulation is selected instead of the element?

If not, i guess i have to find a way to work around this problem.

Greetings

I had the same, node “MEP connector info” will give you pipes/ ducts and insulation look print screen above

I found a solution that i added into the script of the “Elements in connected network” node from MEPover.

When searching for the nextelement i added the condition:

elif c.ConnectorType == ConnectorType.Reference:
	continue

This ignores insulation as a result.

image

@RMDD
hi , Is it possible
Share the complete solution
Did you add here? the condition

def nextElementsWithOwner(elem):
	listout = []
	if elem.GetType() == Connector:
		conn = elem
		for c in conn.AllRefs:
			if c.Owner.Id.Equals(elem.Owner.Id):
				continue
			elif isinstance(c.Owner,MEPSystem):
				continue
			else:
				newelem = c.Owner
			listout.append(newelem)
		return listout
	try:
		connectors = elem.ConnectorManager.Connectors
	except:
		connectors = elem.MEPModel.ConnectorManager.Connectors
	for conn in connectors:
		for c in conn.AllRefs:			
			if c.Owner.Id.Equals(elem.Id):
				continue
			elif isinstance(c.Owner,MEPSystem):
				continue
			else:
				newelem = c.Owner
			listout.append(newelem)
	return listout