<div dir="ltr">Hi Guys,<br><br>I have managed to create a digital graticule, but the distance of the ticks doesn&#39;t match properly.Basically its stitching together a cursor2D &amp; small line from vtkLineSource.<br><br>
If anyone can figure it out, I request them to create a c++ class and sub,it that to the developer list as a convenience class.<br><br>Thanks,<br><br>Jothy <br><br><br><br><br><br>import vtk<br>import numpy as np<br>color=[1,1,0]<br>
Bounds=[-110,110,-110,110,0,0]<br>Cursor=vtk.vtkCursor2D()<br>Cursor.SetModelBounds(Bounds)<br>Cursor.SetFocalPoint(0,0,0)<br>Cursor.AllOn()<br>Cursor.AxesOn()<br>Cursor.OutlineOff()<br>Cursor.SetRadius(1)<br>mapper=vtk.vtkPolyDataMapper()<br>
mapper.SetInputConnection(Cursor.GetOutputPort())<br>actor=vtk.vtkActor()<br>actor.SetMapper(mapper)<br>actor.GetProperty().SetColor(color)<br><br><br>def CreateTicks(Cursorolor,CursorursorBounds,TickInterval):<br>    XTicks=list()<br>
    YTicks=list()<br>    XBoundsRight=CursorursorBounds[0]<br>    XBoundsLeft=CursorursorBounds[1]<br>    YBoundsRight=CursorursorBounds[2]<br>    YBoundsLeft=CursorursorBounds[3]<br><br>    for x in range(XBoundsRight+TickInterval,XBoundsLeft,TickInterval):<br>
        print x<br>        XTick=vtk.vtkLineSource()<br>        XTick.SetPoint1(x,5,0)<br>        XTick.SetPoint2(x,-5,0)<br>        XTick.Update()<br>        XTickMapper=vtk.vtkPolyDataMapper()<br>        XTickMapper.SetInputConnection(XTick.GetOutputPort())<br>
        XTickActor=vtk.vtkActor()<br>        XTickActor.SetMapper(XTickMapper)<br>        XTickActor.GetProperty().SetColor(color)<br>        XTicks.append(XTickActor)<br><br>    for y in range(YBoundsRight+TickInterval,YBoundsLeft,TickInterval):<br>
        #print y<br>        YTick=vtk.vtkLineSource()<br>        YTick.SetPoint1(5,y,0)<br>        YTick.SetPoint2(-5,y,0)<br>        YTick.Update()<br>        YTickMapper=vtk.vtkPolyDataMapper()<br>        YTickMapper.SetInputConnection(YTick.GetOutputPort())<br>
        YTickActor=vtk.vtkActor()<br>        YTickActor.SetMapper(YTickMapper)<br>        YTickActor.GetProperty().SetColor(color)<br>        YTicks.append(YTickActor)<br>    return XTicks,YTicks<br><br><br>XTicks,YTicks=CreateTicks((1,1,0),Bounds,10)<br>
NumOfXTicks= np.size(XTicks)<br>NumOfYTicks= np.size(YTicks)<br><br><br>Ren=vtk.vtkRenderer()<br>Ren.AddActor(actor)<br>for x in range(0,NumOfXTicks,1):<br>    Ren.AddActor(XTicks[x])<br><br>for y in range(0,NumOfYTicks,1):<br>
    Ren.AddActor(YTicks[y])<br><br><br>RenWin=vtk.vtkRenderWindow()<br>RenWin.AddRenderer(Ren)<br>RenWin.Render()<br><br></div>