# List of Structures/pipes between Strucures

**URL:** https://forum.dynamobim.com/t/list-of-structures-pipes-between-strucures/69334
**Category:** Civil 3D
**Created:** [October 15, 2021, 9:59am UTC](https://forum.dynamobim.com/t/list-of-structures-pipes-between-strucures/69334 "2021-10-15T09:59:58Z")
**Posts on this page:** 1
**Showing post:** 8

<div class="post-metadata">

### Author: ![hosneyalaa](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/hosneyalaa/32/100865_2.png) [@hosneyalaa](https://forum.dynamobim.com/u/hosneyalaa)
#### Post date: [October 16, 2021, 11:18am UTC](https://forum.dynamobim.com/t/list-of-structures-pipes-between-strucures/69334/8 "2021-10-16T11:18:39Z")

</div>

hi  
see this

```auto
import sys
import clr
import csv
# Add Assemblies for AutoCAD and Civil 3D APIs
clr.AddReference('acmgd')
clr.AddReference('acdbmgd')
clr.AddReference('accoremgd')
clr.AddReference('AecBaseMgd')
clr.AddReference('AecPropDataMgd')
clr.AddReference('AeccDbMgd')
clr.AddReference('AeccPressurePipesMgd')
clr.AddReference('acdbmgdbrep')
clr.AddReference('System.Windows.Forms')
clr.AddReference('Civil3DNodes')
sys.path.append('C:\Program Files (x86)\IronPython 2.7\Lib')
# Create an alias to the Autodesk.AutoCAD.ApplicationServices.Application class
import Autodesk.AutoCAD.ApplicationServices.Application as acapp

# Import references from AutoCAD
from Autodesk.AutoCAD.Runtime import *
from Autodesk.AutoCAD.ApplicationServices import *
from Autodesk.AutoCAD.EditorInput import *
from Autodesk.AutoCAD.DatabaseServices import *
from Autodesk.AutoCAD.Geometry import *

# Import references for Civil 3D
from Autodesk.Civil.ApplicationServices import *
from Autodesk.Civil.DatabaseServices import *

# Add references to manage arrays, collections and interact with the user
from System import *
from System.IO import *
from System.Collections.Specialized import *

adoc = acapp.DocumentManager.MdiActiveDocument
ed = adoc.Editor
civdoc = CivilApplication.ActiveDocument

PROFILE_VIEW = IN[0]

objects = IN[1]

def move_labels(ids,PROFILE_VIEW):
	if not hasattr(PROFILE_VIEW, " __iter__"):
		PROFILE_VIEW = [PROFILE_VIEW]

	if not hasattr(ids, " __iter__"):
		ids = [ids]
	error_report = None
	res = []
	try:
		with adoc.LockDocument():		
		    with adoc.Database as db:		
		        with db.TransactionManager.StartTransaction() as t:		    
		            sampleLineId1 = PROFILE_VIEW[0].InternalObjectId
		            objVIEW1 = t.GetObject(sampleLineId1, OpenMode.ForWrite)
		            
		            sampleLineId2 = ids[0].InternalObjectId
		            objVIEW2 = t.GetObject(sampleLineId2, OpenMode.ForWrite)
		            
		            corid2oN = t.GetObject(objVIEW2.NetworkId, OpenMode.ForWrite)
		            minLength = 0 
		            boundaryEntities = corid2oN.FindShortestNetworkPath(objVIEW2.Id,objVIEW1.Id,float(minLength))
		            
		            for sid in boundaryEntities[0]:
		                site = t.GetObject(sid, OpenMode.ForRead)
		                res.append(site.Name)            
		            
		          
		            t.Commit()
	except:
		import traceback
		error_report = traceback.format_exc()
	if error_report is None:
		return res
	else:
		return error_report

OUT = move_labels(objects,PROFILE_VIEW)

```

 ![Untitled](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/0/0/00ea71175cb7d616324c9628adf408a250a413fe.png)

---

_[View the full topic](https://forum.dynamobim.com/t/list-of-structures-pipes-between-strucures/69334)._
