In this example, we create a contextual menu for arbitrary lines in map seismic outlines. The script behind this contextual menu converts the coordinates of that line to the INLINE-XLINE coordinates of the other outline layer in the same window
The text of the script is:
window = layer.getViewerWindow()allLayers = window.getAllLayers()for currentLayer in allLayers: if currentLayer != layer: otherLayer = currentLayer breakotherIJToXY = otherLayer.getIJToXY()newPolyline=TraverseData('MyData', 'INLINE', 'XLINE')allPoints = polyline.getPoints()for currentPoint in allPoints: x = currentPoint[0] y = currentPoint[1] trans = otherIJToXY.invCoordTrans(x, y) inline = trans[0] xline = trans[1] newPolyline.addPoint(inline, xline)writer=TraverseDataWriter(newPolyline)saver = TraverseDataSaver()saver.saveInBackground(newPolyline, None)Place this "ConvertAndSave.py" script in the Contextual_Map_Outline_Polyline directory of your Python scripts directory
Press the button "Refresh from Disk" in your Python options. Your script should appear.
And it should be available as a contextual menu of your polyline
Select the "ConvertAndSave.py" menu item to launch this script. After performing the conversion, this script prompts the user for a location on disk where to save the converted arbitrary line. Use the "Load Arbitrary Line" menu item to load this arbitrary line onto the other layer.