We figured it out. We created a clone of PointGrid and modified it for lines.<div><br></div><div><font face="courier new, monospace" size="1">var lines = [];</font></div><div><div><font face="courier new, monospace" size="1">// Longitudinal Lines</font></div>
<div><font face="courier new, monospace" size="1">var startX = gridLeft;</font></div><div><font face="courier new, monospace" size="1">var endX = gridLeft + (cols - 1)*this.dx;</font></div><div><font face="courier new, monospace" size="1">for (var j=0; j<rows; ++j) {</font></div>
<div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">       </span>var y = gridBottom + (j * this.dy);</font></div><div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">      </span>var pointList = [];</font></div>
<div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">       </span>var point1 = new OpenLayers.Geometry.Point(startX, y);</font></div><div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">   </span>var point2 = new OpenLayers.Geometry.Point(endX, y);</font></div>
<div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">       </span>if (this.rotation) {</font></div><div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">             </span>point1.rotate(this.rotation, rotationOrigin);</font></div>
<div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">               </span>point2.rotate(this.rotation, rotationOrigin);</font></div><div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">    </span>}</font></div>
<div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">       </span>pointList.push(point1);</font></div><div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">  </span>pointList.push(point2);</font></div>
<div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">       </span>var geom = new OpenLayers.Geometry.LineString(pointList);</font></div><div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">        </span>lines.push(new OpenLayers.Feature.Vector(geom));</font></div>
<div><font face="courier new, monospace" size="1">}</font></div><div><span style="font-family:'courier new',monospace"><font size="1">// Latititudinal Lines</font></span></div><div><font face="courier new, monospace" size="1">var startY = gridBottom;</font></div>
<div><font face="courier new, monospace" size="1">var endY = gridBottom + (rows - 1)*this.dy;</font></div><div><font face="courier new, monospace" size="1">for (var i=0; i<cols; ++i) {</font></div><div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">       </span>var x = gridLeft + (i * this.dx);</font></div>
<div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">       </span>var pointList = [];</font></div><div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">      </span>var point1 = new OpenLayers.Geometry.Point(x, startY);</font></div>
<div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">       </span>var point2 = new OpenLayers.Geometry.Point(x, endY);</font></div><div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">     </span>if (this.rotation) {</font></div>
<div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">               </span>point1.rotate(this.rotation, rotationOrigin);</font></div><div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">            </span>point2.rotate(this.rotation, rotationOrigin);</font></div>
<div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">       </span>}</font></div><div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">        </span>pointList.push(point1);</font></div>
<div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">       </span>pointList.push(point2);</font></div><div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">  </span>var geom = new OpenLayers.Geometry.LineString(pointList);</font></div>
<div><font face="courier new, monospace" size="1"><span class="Apple-tab-span" style="white-space:pre">       </span>lines.push(new OpenLayers.Feature.Vector(geom));</font></div><div><font face="courier new, monospace" size="1">}</font></div>
<div><font face="courier new, monospace" size="1">this.destroyFeatures(this.features, {silent: true});</font></div><div><font face="courier new, monospace" size="1">this.addFeatures(lines, {silent: true});</font></div><div>
<br></div>--<br>Nathan Gerber<br>
<br><br><div class="gmail_quote">On Mon, Nov 12, 2012 at 8:35 AM, Nathan Gerber <span dir="ltr"><<a href="mailto:ngerber999@gmail.com" target="_blank">ngerber999@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>Is there a way to get line grids to appear that would function like the PointGrid layer? Graticule is close, but does not meet my needs due to it being locked to the coordinate system. I need to be able to draw grids based upon user selected sizes and angles and PointGrid seems to do the job for me except that it only renders points rather than lines.</div>

--<br>Nathan Gerber<br>
</blockquote></div><br></div>