PAPA8399 发表于 2006-6-16 15:52:00

VBA能批量输出等高线坐标数据么??

<P>想批量输出等高线数据,vba 能做到么??</P>
<P>数据输出到txt 或 excel&nbsp; access....等,能做到么,</P>
<P>请各位大虾指教,</P>
<P>站内或email : <A href="mailto:lw8399@126.com" target="_blank" >lw8399@126.com</A> </P>

peicong 发表于 2006-6-16 20:06:00

可以的,只是三言两语讲不清楚

PAPA8399 发表于 2006-6-18 09:29:00

<P>我查过vba的属性说明,好像很难输出?</P>
<P>反正我没有太大的办法,还请大虾执教。。。。。</P>

saga 发表于 2006-6-18 10:05:00

<P>当然可以</P>
<P>&nbsp;</P>

PAPA8399 发表于 2006-6-18 16:10:00

<P>还请各位大虾点拨一下。。。。</P>
<P>cad中有list功能, 能查到所有控制点的坐标, 但如何实现并输出。。。小生不会,,,请高手点点。。。</P>
<P><A href="mailto:LW8399@126.COM" target="_blank" >LW8399@126.COM</A>&nbsp;&nbsp; </P>

68651521 发表于 2006-6-18 21:42:00

<P>这么跟你说吧 </P>
<P>新开一个CAD 在里面随便画一条多段线 </P>
<P>再新建一个图层 名字叫"等高线" 把刚画的这条线 放到"等高线"图层中</P>
<P>然后 运行下面的代码 </P>
<P>Sub OutputCoords()</P>
<P>&nbsp;&nbsp;&nbsp; Dim Entry As AcadEntity<BR>&nbsp;&nbsp;&nbsp; Dim Coords As Variant<BR>&nbsp;&nbsp;&nbsp; Open "c:\test.txt" For Output As #1<BR>&nbsp;&nbsp;&nbsp; For Each Entry In ThisDrawing.ModelSpace<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If TypeName(Entry) = "IAcadLWPolyline" And Entry.Layer = "等高线" Then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Coords = Entry.Coordinates<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For i = 0 To UBound(Coords) - 1 Step 2<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print #1, "X="; Trim(Str(Coords(i))); ","; "Y="; Trim(Str(Coords(i + 1)))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next i<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<BR>&nbsp;&nbsp;&nbsp; Next Entry<BR>&nbsp;&nbsp;&nbsp; Close #1<BR>&nbsp;&nbsp;&nbsp; <BR>End Sub<BR></P>
<P>再打开 C:\test.txt 文件 里面就是坐标信息.</P>

PAPA8399 发表于 2006-6-21 11:31:00

<P>谢谢。。。</P>
<P>不过,最终要实现在cad中输入一个命令,然后选取选定的等高线,回车,来完成等高线坐标点的输出,</P>
<P>大侠说的是, 等高线还得取出等高线上的高程坐标才行???还请游侠指教。。</P>
<P>坐标点能存在excel access 中么 ?</P>

68651521 发表于 2006-6-22 16:34:00

<P>貌似你完全没学过VB 或者 VBA</P>

PAPA8399 发表于 2006-6-29 17:36:00

<P>呵呵,</P>
<P>新手,努力学习中,谢谢楼上的指点</P>
<P>z坐标值又怎么输出呢 ?还请游侠看看。。。</P>

68651521 发表于 2006-7-1 10:37:00

<P>Print #1, "X="; Trim(Str(Coords(i))); ","; "Y="; Trim(Str(Coords(i + 1)))<BR>改成 </P>
<P>Print #1, "X="; Trim(Str(Coords(i))); ","; "Y="; Trim(Str(Coords(i + 1)));","; "Z="; Trim(Str(Coords(i + 2)))<BR></P>
页: [1]
查看完整版本: VBA能批量输出等高线坐标数据么??