AnsweredAssumed Answered

3D intersection of 2 3D polylines with Python

Question asked by ashkan.hassanzadeh on Jul 3, 2018
Latest reply on Jul 10, 2018 by dkwiens

I am new to the arcpy. I searched the community and I didn't find the answer to the question.


I have problem with finding the intersection of two 3D polylines (each one with 2 vertex) with python in arcgis standard 10.5.  Polylines are not in a .shp file, because they created using polyline1 = arcpy.polyline(...) so I can call them directly.

Using point = polyline1.intersect(polyline2 , 1)  just create a multipoint class without anypoint in it.

I need the intersection point coordination (with z) as an answer


Also, I have problem with writing 3d polylines to .shp and .mdb files. after writing polylines to the file, the arcmap omit the z values and all the lines are horizontal.


So I really appriciate help with these 2 questions.


This is an example of the problems: 


from os.path import expanduser
from os.path import join as joinadd
import os
import arcpy


#first question:

#2 below polylines obviously have intersection

#creating 3d polylines



#check for the intersection with disjoint

polytemp1.disjoint(polytemp2) #The answer is False, which means there is an intersection, but is disjoint check in 3D???? or just 2D????


#finding the point (3D)

pnt = polyline1.intersect(polyline2 , 1)

print 'newpoint' ,newpoint.pointCount, newpoint.type, newpoint.partCount #This shows that there is no point in the multipoint!!


#second question: writing a 3d polyline in a .shp file:


homeadd =joinadd(expanduser("~"),"arcgistemp")

if not os.path.exists(homeadd):




cursor = arcpy.da.InsertCursor(polyline1add, ["SHAPE@"])




del cursor


#now I have the .shp file, but the lines are 2D!!